From: Chris Lattner Date: Tue, 7 Feb 2006 20:16:30 +0000 (+0000) Subject: Implement getConstraintType for PPC. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ad3bc8d8add8204195aeb5106036eb7992541bdb;p=oota-llvm.git Implement getConstraintType for PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26042 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp index 76bcf1e5c36..8e454105a0f 100644 --- a/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/lib/Target/PowerPC/PPCISelLowering.cpp @@ -980,6 +980,23 @@ PPCTargetLowering::InsertAtEndOfBasicBlock(MachineInstr *MI, return BB; } +/// getConstraintType - Given a constraint letter, return the type of +/// constraint it is for this target. +PPCTargetLowering::ConstraintType +PPCTargetLowering::getConstraintType(char ConstraintLetter) const { + switch (ConstraintLetter) { + default: break; + case 'b': + case 'r': + case 'f': + case 'v': + case 'y': + return C_RegisterClass; + } + return TargetLowering::getConstraintType(ConstraintLetter); +} + + std::vector PPCTargetLowering:: getRegForInlineAsmConstraint(const std::string &Constraint) const { if (Constraint.size() == 1) { diff --git a/lib/Target/PowerPC/PPCISelLowering.h b/lib/Target/PowerPC/PPCISelLowering.h index bcf4c6ffe48..681d41a8534 100644 --- a/lib/Target/PowerPC/PPCISelLowering.h +++ b/lib/Target/PowerPC/PPCISelLowering.h @@ -97,6 +97,7 @@ namespace llvm { virtual MachineBasicBlock *InsertAtEndOfBasicBlock(MachineInstr *MI, MachineBasicBlock *MBB); + ConstraintType getConstraintType(char ConstraintLetter) const; std::vector getRegForInlineAsmConstraint(const std::string &Constraint) const; bool isOperandValidForConstraint(SDOperand Op, char ConstraintLetter);