llvm/test
Dan Gohman f20d70d57e Fix a bug in LoopStrengthReduce that caused it to emit IR with
use-before-def. The problem comes up in code with multiple PHIs where
one PHI is being rewritten in terms of the other, but the other needs
to be casted first. LLVM rules requre the cast instruction to be
inserted after any PHI instructions, but when instructions were
inserted to replace the second PHI value with a function of the first,
they were ended up going before the cast instruction. Avoid this
problem by remembering the location of the cast instruction, when one
is needed, and inserting the expansion of the new value after it.

This fixes a bug that surfaced in 255.vortex on x86-64 when
instcombine was removed from the middle of the loop optimization
passes. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51169 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 23:26:57 +00:00
..
Analysis Fix PR1098 by correcting the postdominators analysis. 2008-05-04 21:07:35 +00:00
Archive Delete the svn:executable property on these files, which aren't executable. 2007-07-23 19:26:08 +00:00
Assembler returning an empty multiple return list is not valid. 2008-04-23 05:29:14 +00:00
Bindings/Ocaml Expose ExecutionEngine::getTargetData() to c and ocaml bindings. 2008-03-27 00:27:14 +00:00
Bitcode fix this test. 2008-02-17 00:15:25 +00:00
BugPoint Remove llvm-upgrade 2008-02-17 00:15:09 +00:00
C++Frontend Remove the S92 code, which really has nothing to do 2008-05-15 22:23:54 +00:00
CFrontend Evan has implemented this on ppc, so run the test there. 2008-05-15 22:22:37 +00:00
CodeGen Fix a bug in LoopStrengthReduce that caused it to emit IR with 2008-05-15 23:26:57 +00:00
DebugInfo Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
ExecutionEngine rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
Feature Update test 2008-04-25 17:54:21 +00:00
FrontendAda Testcase for gimplify_expr crash caused by an 2008-01-15 19:55:41 +00:00
FrontendObjC Removing. 2008-05-06 23:56:22 +00:00
Integer refactor handling of symbolic constant folding, picking up 2008-04-19 21:58:19 +00:00
lib Fix tests due to llvm2cpp move to llc target 2008-04-23 22:41:53 +00:00
Linker Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
LLVMC Check if llvm-gcc is available before running tests. Patch by Matthijs Kooijman! 2008-05-14 16:32:44 +00:00
Other Fix tests due to llvm2cpp move to llc target 2008-04-23 22:41:53 +00:00
Scripts Add a test script for counting lines. This can be used instead of the 2007-08-10 15:07:05 +00:00
TableGen Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
Transforms Situations can arise when you have a function called that returns a 'void', but 2008-05-14 22:45:20 +00:00
Verifier IR support for extractvalue and insertvalue instructions. Also, begin 2008-05-15 19:50:34 +00:00
Makefile Add EXTRA_OPTIONS on the llvmgxx command line. 2008-04-24 17:59:03 +00:00
Makefile.tests Failure.sh is dead, remove it. 2007-04-21 20:46:55 +00:00
TestRunner.sh Avoid an infinite loop when TestRunner.sh is run outside of the test dir. 2007-05-18 02:06:03 +00:00