hanchenye-llvm-project/llvm/lib
Florian Hahn 950576bdf8 [GVN,NewGVN] Keep nonnull if K does not move.
In combineMetadata, we should be able to preserve K's nonnull metadata,
if K does not move. This condition should hold for all replacements by
NewGVN/GVN, but I added a bunch of assertions to verify that.

Fixes PR35038.

There probably are additional kinds of metadata that could be preserved
using similar reasoning. This is follow-up work.

Reviewers: dberlin, davide, efriedma, nlopes

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D47339

llvm-svn: 339149
2018-08-07 15:36:11 +00:00
..
Analysis [InstSimplify] move minnum/maxnum with common op fold from instcombine 2018-08-07 14:36:27 +00:00
AsmParser [DEBUGINFO] Disable emission of the dwarf sections, but allow directives. 2018-08-01 19:38:20 +00:00
BinaryFormat [dwarfdump] Add pretty printer for accelerator table based on Atom. 2018-07-13 17:21:51 +00:00
Bitcode [NFC] Fix typo 2018-08-06 05:03:21 +00:00
CodeGen [DAG] Allow non-uniform constant vectors to call BuildSDIV 2018-08-07 14:50:39 +00:00
DebugInfo [llvm-pdbutil] Support PDBs without a DBI stream 2018-08-06 19:35:00 +00:00
Demangle [itanium demangler] Support dot suffixes on block invocation functions 2018-08-02 17:45:01 +00:00
ExecutionEngine [ORC] Remove an incorrect use of 'cantFail'. 2018-08-05 23:55:35 +00:00
FuzzMutate Remove trailing space 2018-07-30 19:41:25 +00:00
Fuzzer
IR [DebugInfo] Refactor DbgInfoIntrinsic class hierarchy. 2018-08-06 03:59:47 +00:00
IRReader
LTO Remove trailing space 2018-07-30 19:41:25 +00:00
LineEditor
Linker [NFC] Remove an empty line. 2018-07-27 06:50:45 +00:00
MC MC: Redirect .addrsig directives referring to private (.L) symbols to the section symbol. 2018-08-06 21:59:58 +00:00
Object Remove trailing space 2018-07-30 19:41:25 +00:00
ObjectYAML [yaml2obj] - Add a support for changing EntSize. 2018-08-07 08:11:38 +00:00
Option
Passes Revert "[GVNHoist] Re-enable GVNHoist by default" 2018-07-30 20:07:33 +00:00
ProfileData [InstrProf] Use comdats on COFF for available_externally functions 2018-07-26 22:59:17 +00:00
Support Fix raw_fd_ostream::write_impl hang due to an infinite loop with large output 2018-08-06 16:21:41 +00:00
TableGen Remove trailing space 2018-07-30 19:41:25 +00:00
Target [ARM] FP16: codegen support for VACGT 2018-08-07 15:11:47 +00:00
Testing
ToolDrivers Give llvm-lib rudimentary help output. 2018-07-14 02:29:44 +00:00
Transforms [GVN,NewGVN] Keep nonnull if K does not move. 2018-08-07 15:36:11 +00:00
WindowsManifest
XRay [XRay] Improve error reporting when loading traces 2018-08-07 04:42:39 +00:00
CMakeLists.txt
LLVMBuild.txt