1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test
Davide Italiano 334449f848 [NewGVN] Fix a consistent order for phi nodes operands.
The way we currently define congruency for two PHIExpression(s) is:

1) The operands to the phi functions are congruent
2) The PHIs are defined in the same BasicBlock.

NewGVN works under the assumption that phi operands are in predecessor
order, or at least in some consistent order. OTOH, is valid IR:

patatino:
  %meh = phi i16 [ %0, %winky ], [ %conv1, %tinky ]
  %banana = phi i16 [ %0, %tinky ], [ %conv1, %winky ]
  br label %end

and the in-memory representations of the two SSA registers have an
inconsistent order. This violation of NewGVN assumptions results into
two PHIs found congruent when they're not. While we think it's useful
to have always a consistent order enforced, let's fix this in NewGVN
sorting uses in predecessor order before creating a PHI expression.

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

llvm-svn: 302552
2017-05-09 16:58:28 +00:00
..
Analysis [X86][AVX1] Improve 256-bit vector costs for integer unary intrinsics. 2017-05-07 20:58:55 +00:00
Assembler Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
Bindings
Bitcode AMDGPU: Add AMDGPU_HS calling convention 2017-05-02 15:41:10 +00:00
BugPoint
CodeGen [X86] Add more patterns for BZHI isel 2017-05-09 16:32:11 +00:00
DebugInfo Re-land "Use the frame index side table for byval and inalloca arguments" 2017-05-09 16:02:20 +00:00
Examples
ExecutionEngine
Feature Replace hardcoded intrinsic list with speculatable attribute. 2017-05-03 02:26:10 +00:00
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker Remap metadata attached to global variables. 2017-05-04 23:29:39 +00:00
LTO
MC [ARM] Clear the constant pool cache on explicit .ltorg directives 2017-05-08 10:26:24 +00:00
Object
ObjectYAML [WebAssembly] Add ObjectYAML support for wasm name section 2017-05-05 18:12:34 +00:00
Other [PM] Add ProfileSummaryAnalysis as a required pass in the new pipeline. 2017-05-04 16:58:45 +00:00
SymbolRewriter
TableGen [globalisel][tablegen] Fix the test after silencing the unused variable warning in r301755. 2017-04-29 19:46:27 +00:00
ThinLTO/X86
tools Quick fix to D32609, it seems .o files are not transferred in all cases. 2017-05-08 02:47:25 +00:00
Transforms [NewGVN] Fix a consistent order for phi nodes operands. 2017-05-09 16:58:28 +00:00
Unit [Lit] Fix to prevent creation of "%SystemDrive%" directory on Windows. 2017-05-08 08:55:38 +00:00
Verifier Revert r302469 "Make it illegal for two Functions to point to the same DISubprogram" 2017-05-09 14:44:15 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh