diff options
Diffstat (limited to 'llvm/lib/Target/Alpha/AlphaISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/Alpha/AlphaISelLowering.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaISelLowering.cpp b/llvm/lib/Target/Alpha/AlphaISelLowering.cpp index e8ae5a3e355..4f636dc8f91 100644 --- a/llvm/lib/Target/Alpha/AlphaISelLowering.cpp +++ b/llvm/lib/Target/Alpha/AlphaISelLowering.cpp @@ -571,14 +571,16 @@ SDOperand AlphaTargetLowering::CustomPromoteOperation(SDOperand Op, /// getConstraintType - Given a constraint letter, return the type of /// constraint it is for this target. AlphaTargetLowering::ConstraintType -AlphaTargetLowering::getConstraintType(char ConstraintLetter) const { - switch (ConstraintLetter) { - default: break; - case 'f': - case 'r': - return C_RegisterClass; - } - return TargetLowering::getConstraintType(ConstraintLetter); +AlphaTargetLowering::getConstraintType(const std::string &Constraint) const { + if (Constraint.size() == 1) { + switch (Constraint[0]) { + default: break; + case 'f': + case 'r': + return C_RegisterClass; + } + } + return TargetLowering::getConstraintType(Constraint); } std::vector<unsigned> AlphaTargetLowering:: |

