forked from OSchip/llvm-project
[Hexagon] Allow the RDF optimizations to be run in .mir testcases
llvm-svn: 316904
This commit is contained in:
parent
9ad83fe7f6
commit
bef1c56724
|
@ -55,9 +55,7 @@ namespace {
|
|||
|
||||
class HexagonRDFOpt : public MachineFunctionPass {
|
||||
public:
|
||||
HexagonRDFOpt() : MachineFunctionPass(ID) {
|
||||
initializeHexagonRDFOptPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
HexagonRDFOpt() : MachineFunctionPass(ID) {}
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||
AU.addRequired<MachineDominatorTree>();
|
||||
|
@ -104,10 +102,12 @@ struct HexagonDCE : public DeadCodeElimination {
|
|||
|
||||
char HexagonRDFOpt::ID = 0;
|
||||
|
||||
INITIALIZE_PASS_BEGIN(HexagonRDFOpt, "rdfopt", "Hexagon RDF opt", false, false)
|
||||
INITIALIZE_PASS_BEGIN(HexagonRDFOpt, "hexagon-rdf-opt",
|
||||
"Hexagon RDF optimizations", false, false)
|
||||
INITIALIZE_PASS_DEPENDENCY(MachineDominatorTree)
|
||||
INITIALIZE_PASS_DEPENDENCY(MachineDominanceFrontier)
|
||||
INITIALIZE_PASS_END(HexagonRDFOpt, "rdfopt", "Hexagon RDF opt", false, false)
|
||||
INITIALIZE_PASS_END(HexagonRDFOpt, "hexagon-rdf-opt",
|
||||
"Hexagon RDF optimizations", false, false)
|
||||
|
||||
bool HexagonCP::interpretAsCopy(const MachineInstr *MI, EqualityMap &EM) {
|
||||
auto mapRegs = [&EM] (RegisterRef DstR, RegisterRef SrcR) -> void {
|
||||
|
|
|
@ -132,6 +132,7 @@ namespace llvm {
|
|||
void initializeHexagonNewValueJumpPass(PassRegistry&);
|
||||
void initializeHexagonOptAddrModePass(PassRegistry&);
|
||||
void initializeHexagonPacketizerPass(PassRegistry&);
|
||||
void initializeHexagonRDFOptPass(PassRegistry&);
|
||||
Pass *createHexagonLoopIdiomPass();
|
||||
Pass *createHexagonVectorLoopCarriedReusePass();
|
||||
|
||||
|
@ -191,6 +192,7 @@ extern "C" void LLVMInitializeHexagonTarget() {
|
|||
initializeHexagonNewValueJumpPass(PR);
|
||||
initializeHexagonOptAddrModePass(PR);
|
||||
initializeHexagonPacketizerPass(PR);
|
||||
initializeHexagonRDFOptPass(PR);
|
||||
}
|
||||
|
||||
HexagonTargetMachine::HexagonTargetMachine(const Target &T, const Triple &TT,
|
||||
|
|
Loading…
Reference in New Issue