projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[Hexagon] Fixing store instructions and reenabling a few more tests.
[oota-llvm.git]
/
lib
/
Target
/
Hexagon
/
HexagonTargetMachine.h
diff --git
a/lib/Target/Hexagon/HexagonTargetMachine.h
b/lib/Target/Hexagon/HexagonTargetMachine.h
index d917d5b89a1edf4007f7d8fd28adb8a260a5e068..b61f6bc92f7fd56008391c86e6b955ca1103542f 100644
(file)
--- a/
lib/Target/Hexagon/HexagonTargetMachine.h
+++ b/
lib/Target/Hexagon/HexagonTargetMachine.h
@@
-23,20
+23,25
@@
namespace llvm {
class Module;
class HexagonTargetMachine : public LLVMTargetMachine {
class Module;
class HexagonTargetMachine : public LLVMTargetMachine {
- HexagonSubtarget Subtarget;
+ std::unique_ptr<TargetLoweringObjectFile> TLOF;
+ mutable StringMap<std::unique_ptr<HexagonSubtarget>> SubtargetMap;
public:
public:
- HexagonTargetMachine(const Target &T,
StringRef TT,
StringRef CPU,
+ HexagonTargetMachine(const Target &T,
const Triple &TT,
StringRef CPU,
StringRef FS, const TargetOptions &Options,
Reloc::Model RM, CodeModel::Model CM,
CodeGenOpt::Level OL);
StringRef FS, const TargetOptions &Options,
Reloc::Model RM, CodeModel::Model CM,
CodeGenOpt::Level OL);
+ ~HexagonTargetMachine() override;
+ const HexagonSubtarget *getSubtargetImpl(const Function &F) const override;
- const HexagonSubtarget *getSubtargetImpl() const override {
- return &Subtarget;
- }
static unsigned getModuleMatchQuality(const Module &M);
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
static unsigned getModuleMatchQuality(const Module &M);
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
+ TargetIRAnalysis getTargetIRAnalysis() override;
+
+ TargetLoweringObjectFile *getObjFileLowering() const override {
+ return TLOF.get();
+ }
};
extern bool flag_aligned_memcpy;
};
extern bool flag_aligned_memcpy;