projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build/CMake: Finish removal of add_llvm_library_dependencies.
[oota-llvm.git]
/
lib
/
Target
/
CellSPU
/
SPUSubtarget.h
diff --git
a/lib/Target/CellSPU/SPUSubtarget.h
b/lib/Target/CellSPU/SPUSubtarget.h
index 59196faac5c59e726059d059c357c6def3d7ac05..7c4aa143021751d263bb24e4f9eea13fd79467e9 100644
(file)
--- a/
lib/Target/CellSPU/SPUSubtarget.h
+++ b/
lib/Target/CellSPU/SPUSubtarget.h
@@
-7,33
+7,33
@@
//
//===----------------------------------------------------------------------===//
//
//
//===----------------------------------------------------------------------===//
//
-// This file declares the Cell SPU-specific subclass of TargetSubtarget.
+// This file declares the Cell SPU-specific subclass of TargetSubtarget
Info
.
//
//===----------------------------------------------------------------------===//
#ifndef CELLSUBTARGET_H
#define CELLSUBTARGET_H
//
//===----------------------------------------------------------------------===//
#ifndef CELLSUBTARGET_H
#define CELLSUBTARGET_H
-#include "llvm/Target/TargetInstrItineraries.h"
-#include "llvm/Target/TargetSubtarget.h"
-
+#include "llvm/Target/TargetSubtargetInfo.h"
+#include "llvm/MC/MCInstrItineraries.h"
#include <string>
#include <string>
+#define GET_SUBTARGETINFO_HEADER
+#include "SPUGenSubtargetInfo.inc"
+
namespace llvm {
namespace llvm {
- class Module;
class GlobalValue;
class GlobalValue;
- class
TargetMachine
;
+ class
StringRef
;
namespace SPU {
enum {
namespace SPU {
enum {
+ PROC_NONE,
DEFAULT_PROC
};
}
DEFAULT_PROC
};
}
- class SPUSubtarget : public
TargetSubtarget
{
+ class SPUSubtarget : public
SPUGenSubtargetInfo
{
protected:
protected:
- const TargetMachine &TM;
-
/// stackAlignment - The minimum alignment known to hold of the stack frame
/// on entry to the function and which must be maintained by every function.
unsigned StackAlignment;
/// stackAlignment - The minimum alignment known to hold of the stack frame
/// on entry to the function and which must be maintained by every function.
unsigned StackAlignment;
@@
-51,15
+51,15
@@
namespace llvm {
public:
/// This constructor initializes the data members to match that
public:
/// This constructor initializes the data members to match that
- /// of the specified
modu
le.
+ /// of the specified
trip
le.
///
///
- SPUSubtarget(const
TargetMachine &TM, const Module &M
,
+ SPUSubtarget(const
std::string &TT, const std::string &CPU
,
const std::string &FS);
/// ParseSubtargetFeatures - Parses features string setting specified
/// subtarget options. Definition of function is auto generated by tblgen.
const std::string &FS);
/// ParseSubtargetFeatures - Parses features string setting specified
/// subtarget options. Definition of function is auto generated by tblgen.
- void ParseSubtargetFeatures(
const std::string &FS, const std::string &CPU
);
-
+ void ParseSubtargetFeatures(
StringRef CPU, StringRef FS
);
+
/// SetJITMode - This is called to inform the subtarget info that we are
/// producing code for the JIT.
void SetJITMode();
/// SetJITMode - This is called to inform the subtarget info that we are
/// producing code for the JIT.
void SetJITMode();
@@
-84,9
+84,13
@@
namespace llvm {
/// properties of this subtarget.
const char *getTargetDataString() const {
return "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128"
/// properties of this subtarget.
const char *getTargetDataString() const {
return "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128"
-
"-i16:16:128-i8:8:128-i1:8:128-a:0
:128-v128:128:128"
- "-s:128:128";
+
"-i16:16:128-i8:8:128-i1:8:128-a:0:128-v64:64
:128-v128:128:128"
+ "-s:128:128
-n32:64
";
}
}
+
+ bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
+ TargetSubtargetInfo::AntiDepBreakMode& Mode,
+ RegClassVector& CriticalPathRCs) const;
};
} // End llvm namespace
};
} // End llvm namespace