Changes in directory llvm/lib/Transforms/Scalar:
ScalarReplAggregates.cpp updated: 1.33 -> 1.34 --- Log message: Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefined behavior in 126.gcc on big-endian systems. --- Diffs of the changes: (+2 -2) ScalarReplAggregates.cpp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp diff -u llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.33 llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.34 --- llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.33 Mon Dec 12 01:19:13 2005 +++ llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp Wed Dec 14 11:23:59 2005 @@ -539,7 +539,7 @@ if (LoadInst *LI = dyn_cast<LoadInst>(User)) { // The load is a bit extract from NewAI shifted right by Offset bits. Value *NV = new LoadInst(NewAI, LI->getName(), LI); - if (Offset) + if (Offset && Offset < NV->getType()->getPrimitiveSizeInBits()) NV = new ShiftInst(Instruction::Shr, NV, ConstantUInt::get(Type::UByteTy, Offset), LI->getName(), LI); @@ -563,7 +563,7 @@ SV = new CastInst(SV, SV->getType()->getUnsignedVersion(), SV->getName(), SI); SV = new CastInst(SV, Old->getType(), SV->getName(), SI); - if (Offset) + if (Offset && Offset < SV->getType()->getPrimitiveSizeInBits()) SV = new ShiftInst(Instruction::Shl, SV, ConstantUInt::get(Type::UByteTy, Offset), SV->getName()+".adj", SI); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits