diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-09-24 00:05:32 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-09-24 00:05:32 +0000 |
commit | da43bcf624acb56a3d77bb5ae9a02728af032613 (patch) | |
tree | dd93cba15bfa2de5c6708211ff7d67d79792c3d6 /include | |
parent | dd4924c564c7a661b78b604ebf16dfef7aa62b35 (diff) |
Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56526 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 0a25f59db6..7c25c6d3ac 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -1169,9 +1169,11 @@ public: /// type to use for the specific AsmOperandInfo, setting /// OpInfo.ConstraintCode and OpInfo.ConstraintType. If the actual operand /// being passed in is available, it can be passed in as Op, otherwise an - /// empty SDValue can be passed. + /// empty SDValue can be passed. If hasMemory is true it means one of the asm + /// constraint of the inline asm instruction being processed is 'm'. virtual void ComputeConstraintToUse(AsmOperandInfo &OpInfo, SDValue Op, + bool hasMemory, SelectionDAG *DAG = 0) const; /// getConstraintType - Given a constraint, return the type of constraint it @@ -1206,8 +1208,11 @@ public: virtual const char *LowerXConstraint(MVT ConstraintVT) const; /// LowerAsmOperandForConstraint - Lower the specified operand into the Ops - /// vector. If it is invalid, don't add anything to 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, char ConstraintLetter, + bool hasMemory, std::vector<SDValue> &Ops, SelectionDAG &DAG) const; |