diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2016-05-27 16:45:37 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2016-05-27 16:45:37 +0000 |
commit | 1cda54f369a268b2e237ccbce432538d3cbae8cf (patch) | |
tree | 12f624b53f95ccca052bdb63a3e6f4e2107dfe96 /llvm/lib/Target/Sparc | |
parent | 10a1e8b1fe574c6012018bb91a0572a65e8f6779 (diff) | |
download | bcm5719-llvm-1cda54f369a268b2e237ccbce432538d3cbae8cf.tar.gz bcm5719-llvm-1cda54f369a268b2e237ccbce432538d3cbae8cf.zip |
[sparc] Simplify a slow and verbose way of checking if a string starts with "ld".
PR27904.
llvm-svn: 271016
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rwxr-xr-x | llvm/lib/Target/Sparc/LeonPasses.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/Target/Sparc/LeonPasses.cpp b/llvm/lib/Target/Sparc/LeonPasses.cpp index 7cdf862a3c0..31261c4a3e2 100755 --- a/llvm/lib/Target/Sparc/LeonPasses.cpp +++ b/llvm/lib/Target/Sparc/LeonPasses.cpp @@ -61,12 +61,10 @@ bool InsertNOPLoad::runOnMachineFunction(MachineFunction& MF) Modified = true; } else if (MI.isInlineAsm()) { - std::string AsmString (MI.getOperand(InlineAsm::MIOp_AsmString) - .getSymbolName()); - std::string LDOpCoode ("ld"); - std::transform(AsmString.begin(), AsmString.end(), AsmString.begin(), - ::tolower); - if (AsmString.find(LDOpCoode) == 0) { // an inline ld or ldf instruction + // Look for an inline ld or ldf instruction. + StringRef AsmString = + MI.getOperand(InlineAsm::MIOp_AsmString).getSymbolName(); + if (AsmString.startswith_lower("ld")) { //errs() << "Inserting NOP after LD instruction\n"; MachineBasicBlock::iterator NMBBI = std::next(MBBI); BuildMI(MBB, NMBBI, DL, TII.get(SP::NOP)); |