aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMISelLowering.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2011-05-03 00:46:49 +0000
committerDan Gohman <gohman@apple.com>2011-05-03 00:46:49 +0000
commitcca82149adef8306a295abdc963213ae3b11bbb6 (patch)
tree2d38fc521b67e22982d8a8535c98bafe4cdbd709 /lib/Target/ARM/ARMISelLowering.h
parentf7710af4ba78aa7a0cc9c226f334d8f2b6ab31bf (diff)
downloadexternal_llvm-cca82149adef8306a295abdc963213ae3b11bbb6.zip
external_llvm-cca82149adef8306a295abdc963213ae3b11bbb6.tar.gz
external_llvm-cca82149adef8306a295abdc963213ae3b11bbb6.tar.bz2
Add an unfolded offset field to LSR's Formula record. This is used to
model constants which can be added to base registers via add-immediate instructions which don't require an additional register to materialize the immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130743 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMISelLowering.h')
-rw-r--r--lib/Target/ARM/ARMISelLowering.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.h b/lib/Target/ARM/ARMISelLowering.h
index a2e6260..82d167e 100644
--- a/lib/Target/ARM/ARMISelLowering.h
+++ b/lib/Target/ARM/ARMISelLowering.h
@@ -264,6 +264,12 @@ namespace llvm {
/// the immediate into a register.
virtual bool isLegalICmpImmediate(int64_t Imm) const;
+ /// isLegalAddImmediate - Return true if the specified immediate is legal
+ /// add immediate, that is the target has add instructions which can
+ /// add a register and the immediate without having to materialize
+ /// the immediate into a register.
+ virtual bool isLegalAddImmediate(int64_t Imm) const;
+
/// getPreIndexedAddressParts - returns true by value, base pointer and
/// offset pointer and addressing mode by reference if the node's address
/// can be legally represented as pre-indexed load / store address.