1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/lib
Adam Nemet 108f359996 [LoopVer] Update all existing PHIs in the exit block
We only used to add the edge from the cloned loop to PHIs that
corresponded to values defined by the loop.  We need to do this for all
PHIs obviously since we need a PHI operand for each incoming edge.

This includes things like PHIs with a constant value or with values
defined before the original loop (see the testcases).

After the patch the PHIs are added to the exit block in two passes.

In the first pass we ensure there is a single-operand (LCSSA) PHI for
each value defined by the loop.

In the second pass we loop through each (single-operand) PHI and add the
value for the edge from the cloned loop.  If the value is defined in the
loop we'll use the cloned instruction from the cloned loop.

Fixes PR28037

llvm-svn: 272649
2016-06-14 09:38:54 +00:00
..
Analysis [PM] Port LVI to the new PM. 2016-06-13 22:01:25 +00:00
AsmParser [DebugInfo] Add calling convention support for DWARF and CodeView 2016-06-08 20:34:29 +00:00
Bitcode BitcodeReader: Use std:::piecewise_construct when upgrading type refs 2016-06-09 20:46:33 +00:00
CodeGen [SelectionDAG] Remove exit-on-error flag from test (PR27765) 2016-06-14 07:30:20 +00:00
DebugInfo [pdb] Fix issues with pdb writing. 2016-06-10 21:47:26 +00:00
ExecutionEngine [MCJIT] Update MCJIT and get the fibonacci example working again. 2016-06-11 05:47:04 +00:00
Fuzzer [LibFuzzer] Move tests in `fuzzer-traces.test` that require hooks to their own test. 2016-06-14 00:11:34 +00:00
IR [AVX512] Remove maksed pshufd, pshuflw, and phufhw intrinsics and autoupgrade them to selects and shufflevector. 2016-06-13 02:36:48 +00:00
IRReader
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor
Linker Move instances of std::function. 2016-06-12 16:13:55 +00:00
LTO [PM] Port MemCpyOpt to the new PM. 2016-06-14 02:44:55 +00:00
MC Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
Object [Symbolize] Check if the PE file has a PDB and emit an error if we can't load it 2016-06-03 20:25:09 +00:00
ObjectYAML [obj2yaml] [yaml2obj] Support for MachO nlist and string table 2016-06-02 22:54:06 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [PM] Port Mem2Reg to the new pass manager. 2016-06-14 03:22:22 +00:00
ProfileData Bug fix remove another illegal char from prof symbol name 2016-06-10 06:32:26 +00:00
Support In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives. 2016-06-13 15:54:56 +00:00
TableGen Avoid copies of std::strings and APInt/APFloats where we only read from it 2016-06-08 10:01:20 +00:00
Target [mips] MIPS32/64 itineraries 2016-06-14 09:35:29 +00:00
Transforms [LoopVer] Update all existing PHIs in the exit block 2016-06-14 09:38:54 +00:00
CMakeLists.txt
LLVMBuild.txt