diff options
author | Eric Christopher <echristo@apple.com> | 2012-05-07 03:13:32 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-05-07 03:13:32 +0000 |
commit | 50ab03954ec0a43708ad0a5cf3d253ce41a30db3 (patch) | |
tree | b7bf1f31906c48a53eb7c3fd1b2a29fbd17be061 /lib/Target/Mips/MipsISelLowering.h | |
parent | 0ed1f764f4e0d4cc940052e8ccca260bf5c39407 (diff) |
Add support for the 'I' inline asm constraint. Also add tests
from the previous 2 patches.
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156279 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsISelLowering.h')
-rw-r--r-- | lib/Target/Mips/MipsISelLowering.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.h b/lib/Target/Mips/MipsISelLowering.h index c36f40f639..f95e0dc47e 100644 --- a/lib/Target/Mips/MipsISelLowering.h +++ b/lib/Target/Mips/MipsISelLowering.h @@ -176,6 +176,15 @@ namespace llvm { getRegForInlineAsmConstraint(const std::string &Constraint, EVT VT) const; + /// LowerAsmOperandForConstraint - Lower the specified operand into the Ops + /// vector. If it is invalid, don't add anything to Ops. If hasMemory is + /// true it means one of the asm constraint of the inline asm instruction + /// being processed is 'm'. + virtual void LowerAsmOperandForConstraint(SDValue Op, + std::string &Constraint, + std::vector<SDValue> &Ops, + SelectionDAG &DAG) const; + virtual bool isOffsetFoldingLegal(const GlobalAddressSDNode *GA) const; /// isFPImmLegal - Returns true if the target can instruction select the |