diff options
| author | Jim Grosbach <grosbach@apple.com> | 2011-12-13 21:06:41 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2011-12-13 21:06:41 +0000 |
| commit | 5ac89675a03c5516626a7687f8a9e5c9453c3b97 (patch) | |
| tree | db6363798014d5961318d326598eac47d63c7f04 /llvm/lib/Target/ARM | |
| parent | 1f1a3598c2c5697fc0fae4eda2db1a7b33b799ab (diff) | |
| download | bcm5719-llvm-5ac89675a03c5516626a7687f8a9e5c9453c3b97.tar.gz bcm5719-llvm-5ac89675a03c5516626a7687f8a9e5c9453c3b97.zip | |
Thumb2 tweak for ccout handling in RSB parsing.
llvm-svn: 146516
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index f6827809cd7..643ba71ac5c 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -4737,8 +4737,11 @@ bool ARMAsmParser::ParseInstruction(StringRef Name, SMLoc NameLoc, const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(Op->getImm()); if (CE && CE->getValue() == 0 && (isThumbOne() || + // The cc_out operand matches the IT block. + ((inITBlock() != CarrySetting) && + // Neither register operand is a high register. (isARMLowRegister(static_cast<ARMOperand*>(Operands[3])->getReg()) && - isARMLowRegister(static_cast<ARMOperand*>(Operands[4])->getReg())))) { + isARMLowRegister(static_cast<ARMOperand*>(Operands[4])->getReg()))))){ Operands.erase(Operands.begin() + 5); Operands.push_back(ARMOperand::CreateToken("#0", Op->getStartLoc())); delete Op; |

