1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/unittests
Chandler Carruth fda9b703c9 [PM] Fix a nasty bug in the new PM where we failed to properly
invalidation of analyses when merging SCCs.

While I've added a bunch of testing of this, it takes something much
more like the inliner to really trigger this as you need to have
partially-analyzed SCCs with updates at just the right time. So I've
added a direct test for this using the inliner and verifying the
domtree. Without the changes here, this test ends up finding a stale
dominator tree.

However, to handle this properly, we need to invalidate analyses
*before* merging the SCCs. After talking to Philip and Sanjoy about this
they convinced me this was the right approach. To do this, we need
a callback mechanism when merging SCCs so we can observe the cycle that
will be merged before the merge happens. This API update ended up being
surprisingly easy.

With this commit, the new PM passes the test-suite again. It hadn't
since MemorySSA was enabled for EarlyCSE as that also will find this bug
very quickly.

llvm-svn: 307498
2017-07-09 13:45:11 +00:00
..
ADT [ADT] Fix a test case to use a correct escape for a null byte followed 2017-07-09 07:37:47 +00:00
Analysis [PM] Fix a nasty bug in the new PM where we failed to properly 2017-07-09 13:45:11 +00:00
AsmParser
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
CodeGen [GlobalISel] Make multi-step legalization work. 2017-06-30 08:26:20 +00:00
DebugInfo [DWARF] Don't include TestingSupport in LLVM_LINK_COMPONENTS. 2017-06-30 16:50:51 +00:00
ExecutionEngine [ORC] Errorize the ORC APIs. 2017-07-07 02:59:13 +00:00
IR [PM] Teach PreservedAnalyses to have an allInSet static factory 2017-07-09 07:23:27 +00:00
LineEditor
Linker Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
MC Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MI UnitTests: Followup to 305519 2017-06-15 22:50:57 +00:00
Object Fix unittest for buildbot with mips host (32bit big endian) from r295174 2017-02-15 16:03:22 +00:00
ObjectYAML
Option [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
ProfileData ProfData: Fix some unchecked Errors in unit tests 2017-07-07 21:02:59 +00:00
Support [Support] sys::getProcessTriple should return a macOS triple using 2017-07-07 09:53:47 +00:00
Target UnitTests: Followup to 305519 2017-06-15 22:50:57 +00:00
Transforms [cloning] Do not duplicate types when cloning functions 2017-07-07 18:24:20 +00:00
XRay [XRay][graph] Disambiguate name of type from member name 2017-02-10 06:59:25 +00:00
CMakeLists.txt Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00