1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Chandler Carruth 8965188357 [PM] Replace the hard invalidate in JumpThreading for LVI with correct
invalidation of deleted functions in GlobalDCE.

This was always testing a bug really triggered in GlobalDCE. Right now
we have analyses with asserting value handles into IR. As long as those
remain, when *deleting* an IR unit, we cannot wait for the normal
invalidation scheme to kick in even though it was designed to work
correctly in the face of these kinds of deletions. Instead, the pass
needs to directly handle invalidating the analysis results pointing at
that IR unit.

I've tought the Inliner about this and this patch teaches GlobalDCE.
This will handle the asserting VH case in the existing test as well as
other issues of the same fundamental variety. I've moved the test into
the GlobalDCE directory and added a comment explaining what is going on.

Note that we cannot simply require LVI here because LVI is too lazy.

llvm-svn: 292773
2017-01-23 08:33:24 +00:00
..
Analysis [PM] Teach LVI to correctly invalidate itself when its dependencies 2017-01-23 06:35:12 +00:00
AsmParser ASMParser: use range-based for loops (NFC) 2016-12-27 18:35:22 +00:00
Bitcode [ThinLTO] Fix lazy-loading of MDString instruction attachments 2017-01-20 20:29:16 +00:00
CodeGen LiveRegUnits: Add accumulateBackward() function 2017-01-21 02:21:04 +00:00
DebugInfo [pdb] Write the Named Stream mapping to Yaml and binary. 2017-01-20 22:42:09 +00:00
Demangle Revert "Demangle: only demangle mangled symbols" 2017-01-20 03:54:04 +00:00
ExecutionEngine [Orc][RPC] Add an RPCFunctionNotSupported error type and return it from 2017-01-15 06:34:25 +00:00
Fuzzer [libFuzzer] Add missing dependency for tests. 2017-01-22 21:55:46 +00:00
IR [IR] Use const_cast to reuse the const version of two BasicBlock methods that are duplicated for both const and non-const. NFC 2017-01-22 06:53:04 +00:00
IRReader
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
LTO [ThinLTO] Don't perform computeDeadSymbols during O0 link, as the result is never used (NFC) 2017-01-20 23:34:12 +00:00
MC [Assembler] Improve error when unable to evaluate expression. 2017-01-19 20:06:32 +00:00
Object Add support for the new LC_NOTE load command. 2017-01-19 17:36:31 +00:00
ObjectYAML [DWARF] [ObjectYAML] Adding APIs for unittesting 2017-01-20 19:03:14 +00:00
Option
Passes [PM] Port LoopSink to the new pass manager. 2017-01-20 08:42:19 +00:00
ProfileData [WebAssembly] Add triple support for the new wasm object format 2017-01-17 20:34:09 +00:00
Support raw_fd_ostream: Make file handles non-inheritable by default 2017-01-18 15:46:50 +00:00
TableGen [Hexagon, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-04 02:02:05 +00:00
Target [X86][SSE] Add missing X86ISD::ANDNP combines. 2017-01-22 22:45:23 +00:00
Transforms [PM] Replace the hard invalidate in JumpThreading for LVI with correct 2017-01-23 08:33:24 +00:00
XRay Avoid std::errc::protocol_* to appease mingw 2017-01-12 18:33:14 +00:00
CMakeLists.txt [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
LLVMBuild.txt