summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-06-19 01:51:50 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-06-19 01:51:50 +0000
commit4e712de541b3316d7c9ec157aecb2dfeb46fa897 (patch)
tree454b5abd84bee06603671df9eb71b1f9a160d704 /llvm/lib/Target/ARM/ARMSubtarget.h
parentd984158320256d3409f1a47d81d5cf459ad1cd17 (diff)
downloadbcm5719-llvm-4e712de541b3316d7c9ec157aecb2dfeb46fa897.tar.gz
bcm5719-llvm-4e712de541b3316d7c9ec157aecb2dfeb46fa897.zip
Latency information for ARM v6. It's rough and not yet hooked up. Right now we are only using branch latency to determine if-conversion limits.
llvm-svn: 73747
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h
index c365750d071..c3cc7fff6e3 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.h
+++ b/llvm/lib/Target/ARM/ARMSubtarget.h
@@ -14,6 +14,7 @@
#ifndef ARMSUBTARGET_H
#define ARMSUBTARGET_H
+#include "llvm/Target/TargetInstrItineraries.h"
#include "llvm/Target/TargetSubtarget.h"
#include <string>
@@ -58,6 +59,9 @@ protected:
/// CPUString - String name of used CPU.
std::string CPUString;
+ /// Selected instruction itineraries (one entry per itinerary class.)
+ InstrItineraryData InstrItins;
+
public:
enum {
isELF, isDarwin
@@ -110,6 +114,10 @@ protected:
const std::string & getCPUString() const { return CPUString; }
+ /// getInstrItins - Return the instruction itineraies based on subtarget
+ /// selection.
+ const InstrItineraryData &getInstrItineraryData() const { return InstrItins; }
+
/// getStackAlignment - Returns the minimum alignment known to hold of the
/// stack frame on entry to the function and which must be maintained by every
/// function for this subtarget.
OpenPOWER on IntegriCloud