Fix a case where instcombine was stripping metadata (and alignment)

from stores when folding in bitcasts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117265 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2010-10-25 16:16:27 +00:00
parent 970bfcc7d8
commit 17a0bf996f
2 changed files with 24 additions and 1 deletions
@@ -330,7 +330,9 @@ static Instruction *InstCombineStoreToCast(InstCombiner &IC, StoreInst &SI) {
NewCast = IC.Builder->CreateCast(opcode, SIOp0, CastDstTy,
SIOp0->getName()+".c");
return new StoreInst(NewCast, CastOp);
SI.setOperand(0, NewCast);
SI.setOperand(1, CastOp);
return &SI;
}
/// equivalentAddressValues - Test if A and B will obviously have the same