aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-02 05:20:37 +0000
committerChris Lattner <sabre@nondot.org>2009-08-02 05:20:37 +0000
commit5f1fdb3d639bc0300b5a40f1a1c62178fb534668 (patch)
tree2265d4015a9ba0966c2bd58c8535a3d0f59bc4cd /include/llvm
parent1a6ef24f529090bc30e974ae536f25a26643e3b7 (diff)
downloadexternal_llvm-5f1fdb3d639bc0300b5a40f1a1c62178fb534668.zip
external_llvm-5f1fdb3d639bc0300b5a40f1a1c62178fb534668.tar.gz
external_llvm-5f1fdb3d639bc0300b5a40f1a1c62178fb534668.tar.bz2
Move the getInlineAsmLength virtual method from TAI to TII, where
the only real caller (GetFunctionSizeInBytes) uses it. The custom ARM implementation of this is basically reimplementing an assembler poorly for negligible gain. It should be removed IMNSHO, but I'll leave that to ARMish folks to decide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77877 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/Target/TargetAsmInfo.h7
-rw-r--r--include/llvm/Target/TargetInstrInfo.h9
2 files changed, 11 insertions, 5 deletions
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index 9d37d49..75b3bdf 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -375,10 +375,6 @@ namespace llvm {
explicit TargetAsmInfo();
virtual ~TargetAsmInfo();
- /// Measure the specified inline asm to determine an approximation of its
- /// length.
- virtual unsigned getInlineAsmLength(const char *Str) const;
-
/// getSLEB128Size - Compute the number of bytes required for a signed
/// leb128 value.
static unsigned getSLEB128Size(int Value);
@@ -414,6 +410,9 @@ namespace llvm {
bool needsSet() const {
return NeedsSet;
}
+ unsigned getMaxInstLength() const {
+ return MaxInstLength;
+ }
const char *getPCSymbol() const {
return PCSymbol;
}
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index 41a344d..53d994d 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/include/llvm/Target/TargetInstrInfo.h
@@ -19,6 +19,7 @@
namespace llvm {
+class TargetAsmInfo;
class TargetRegisterClass;
class TargetRegisterInfo;
class LiveVariables;
@@ -456,9 +457,15 @@ public:
return 0;
}
- /// GetFunctionSizeInBytes - Returns the size of the specified MachineFunction.
+ /// GetFunctionSizeInBytes - Returns the size of the specified
+ /// MachineFunction.
///
virtual unsigned GetFunctionSizeInBytes(const MachineFunction &MF) const = 0;
+
+ /// Measure the specified inline asm to determine an approximation of its
+ /// length.
+ virtual unsigned getInlineAsmLength(const char *Str,
+ const TargetAsmInfo &TAI) const;
};
/// TargetInstrInfoImpl - This is the default implementation of