[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

Chris Lattner lattner at cs.uiuc.edu
Mon Mar 28 22:38:03 PST 2005



Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.316 -> 1.317
---
Log message:

disable this transformation in the one obscure case that really pessimizes
pointer analysis.


---
Diffs of the changes:  (+3 -0)

 InstructionCombining.cpp |    3 +++
 1 files changed, 3 insertions(+)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.316 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.317
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.316	Fri Mar  4 17:21:33 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Tue Mar 29 00:37:47 2005
@@ -4646,6 +4646,9 @@
           }
 
       if ((SrcPTy->isInteger() || isa<PointerType>(SrcPTy)) &&
+          // Do not allow turning this into a load of an integer, which is then
+          // casted to a pointer, this pessimizes pointer analysis a lot.
+          (isa<PointerType>(SrcPTy) == isa<PointerType>(LI.getType())) &&
           IC.getTargetData().getTypeSize(SrcPTy) == 
                IC.getTargetData().getTypeSize(DestPTy)) {
           






More information about the llvm-commits mailing list