diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2011-08-12 22:50:01 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2011-08-12 22:50:01 +0000 |
| commit | 02e737b08ed90daf9dd46e6c3d7deb9eaceeef01 (patch) | |
| tree | 89a5d030144f020aa8be75815f20d65883dc56d6 /llvm/lib/VMCore/AsmWriter.cpp | |
| parent | 59d741fec6436268fe5c476f168ab6a7d00fa9d9 (diff) | |
| download | bcm5719-llvm-02e737b08ed90daf9dd46e6c3d7deb9eaceeef01.tar.gz bcm5719-llvm-02e737b08ed90daf9dd46e6c3d7deb9eaceeef01.zip | |
Move "atomic" and "volatile" designations on instructions after the opcode
of the instruction.
Note that this change affects the existing non-atomic load and store
instructions; the parser now accepts both forms, and the change is noted
in the release notes.
llvm-svn: 137527
Diffstat (limited to 'llvm/lib/VMCore/AsmWriter.cpp')
| -rw-r--r-- | llvm/lib/VMCore/AsmWriter.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp index d1666041131..1fc94ba7ca2 100644 --- a/llvm/lib/VMCore/AsmWriter.cpp +++ b/llvm/lib/VMCore/AsmWriter.cpp @@ -1658,16 +1658,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) { else Out << '%' << SlotNum << " = "; } - - // If this is an atomic load or store, print out the atomic marker. - if ((isa<LoadInst>(I) && cast<LoadInst>(I).isAtomic()) || - (isa<StoreInst>(I) && cast<StoreInst>(I).isAtomic())) - Out << "atomic "; - - // If this is a volatile load or store, print out the volatile marker. - if ((isa<LoadInst>(I) && cast<LoadInst>(I).isVolatile()) || - (isa<StoreInst>(I) && cast<StoreInst>(I).isVolatile())) - Out << "volatile "; if (isa<CallInst>(I) && cast<CallInst>(I).isTailCall()) Out << "tail "; @@ -1675,6 +1665,18 @@ void AssemblyWriter::printInstruction(const Instruction &I) { // Print out the opcode... Out << I.getOpcodeName(); + // If this is an atomic load or store, print out the atomic marker. + if ((isa<LoadInst>(I) && cast<LoadInst>(I).isAtomic()) || + (isa<StoreInst>(I) && cast<StoreInst>(I).isAtomic())) + Out << " atomic"; + + // If this is a volatile operation, print out the volatile marker. + if ((isa<LoadInst>(I) && cast<LoadInst>(I).isVolatile()) || + (isa<StoreInst>(I) && cast<StoreInst>(I).isVolatile()) || + (isa<AtomicCmpXchgInst>(I) && cast<AtomicCmpXchgInst>(I).isVolatile()) || + (isa<AtomicRMWInst>(I) && cast<AtomicRMWInst>(I).isVolatile())) + Out << " volatile"; + // Print out optimization information. WriteOptimizationInfo(Out, &I); |

