Changes in directory llvm/lib/Bytecode/Writer:
Writer.cpp updated: 1.174 -> 1.175 --- Log message: Revert Christopher Lamb's load/store alignment changes. --- Diffs of the changes: (+5 -27) Writer.cpp | 32 +++++--------------------------- 1 files changed, 5 insertions(+), 27 deletions(-) Index: llvm/lib/Bytecode/Writer/Writer.cpp diff -u llvm/lib/Bytecode/Writer/Writer.cpp:1.174 llvm/lib/Bytecode/Writer/Writer.cpp:1.175 --- llvm/lib/Bytecode/Writer/Writer.cpp:1.174 Sat Apr 21 03:16:25 2007 +++ llvm/lib/Bytecode/Writer/Writer.cpp Sat Apr 21 13:36:27 2007 @@ -616,7 +616,7 @@ unsigned Opcode = I.getOpcode(); unsigned NumOperands = I.getNumOperands(); - // Encode 'tail call' as 61 + // Encode 'tail call' as 61, 'volatile load' as 62, and 'volatile store' as // 63. if (const CallInst *CI = dyn_cast<CallInst>(&I)) { if (CI->getCallingConv() == CallingConv::C) { @@ -632,6 +632,10 @@ } else { Opcode = 58; // Call escape sequence. } + } else if (isa<LoadInst>(I) && cast<LoadInst>(I).isVolatile()) { + Opcode = 62; + } else if (isa<StoreInst>(I) && cast<StoreInst>(I).isVolatile()) { + Opcode = 63; } // Figure out which type to encode with the instruction. Typically we want @@ -740,32 +744,6 @@ } else if (isa<InvokeInst>(I)) { // Invoke escape seq has at least 4 operands to encode. ++NumOperands; - } else if (const LoadInst *LI = dyn_cast<LoadInst>(&I)) { - // Encode attributed load as opcode 62 - // We need to encode the attributes of the load instruction as the second - // operand. Its not really a slot, but we don't want to break the - // instruction format for these instructions. - if (LI->getAlignment() || LI->isVolatile()) { - NumOperands = 2; - Slots[1] = ((Log2_32(LI->getAlignment())+1)<<1) + - (LI->isVolatile() ? 1 : 0); - if (Slots[1] > MaxOpSlot) - MaxOpSlot = Slots[1]; - Opcode = 62; - } - } else if (const StoreInst *SI = dyn_cast<StoreInst>(&I)) { - // Encode attributed store as opcode 63 - // We need to encode the attributes of the store instruction as the third - // operand. Its not really a slot, but we don't want to break the - // instruction format for these instructions. - if (SI->getAlignment() || SI->isVolatile()) { - NumOperands = 3; - Slots[2] = ((Log2_32(SI->getAlignment())+1)<<1) + - (SI->isVolatile() ? 1 : 0); - if (Slots[2] > MaxOpSlot) - MaxOpSlot = Slots[2]; - Opcode = 63; - } } // Decide which instruction encoding to use. This is determined primarily _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits