Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
Show First 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | |||||
public: | public: | ||||
LoongArchPassConfig(LoongArchTargetMachine &TM, PassManagerBase &PM) | LoongArchPassConfig(LoongArchTargetMachine &TM, PassManagerBase &PM) | ||||
: TargetPassConfig(TM, PM) {} | : TargetPassConfig(TM, PM) {} | ||||
LoongArchTargetMachine &getLoongArchTargetMachine() const { | LoongArchTargetMachine &getLoongArchTargetMachine() const { | ||||
return getTM<LoongArchTargetMachine>(); | return getTM<LoongArchTargetMachine>(); | ||||
} | } | ||||
void addIRPasses() override; | |||||
bool addInstSelector() override; | bool addInstSelector() override; | ||||
}; | }; | ||||
} // namespace | } // namespace | ||||
TargetPassConfig * | TargetPassConfig * | ||||
LoongArchTargetMachine::createPassConfig(PassManagerBase &PM) { | LoongArchTargetMachine::createPassConfig(PassManagerBase &PM) { | ||||
return new LoongArchPassConfig(*this, PM); | return new LoongArchPassConfig(*this, PM); | ||||
} | } | ||||
void LoongArchPassConfig::addIRPasses() { | |||||
addPass(createAtomicExpandPass()); | |||||
lkail: You may need to add tests in `lvm/test/Transforms/AtomicExpand/LoongArch`. | |||||
Thanks for reminding me.I will add tests. gonglingqin: Thanks for reminding me.I will add tests. | |||||
TargetPassConfig::addIRPasses(); | |||||
} | |||||
bool LoongArchPassConfig::addInstSelector() { | bool LoongArchPassConfig::addInstSelector() { | ||||
addPass(createLoongArchISelDag(getLoongArchTargetMachine())); | addPass(createLoongArchISelDag(getLoongArchTargetMachine())); | ||||
return false; | return false; | ||||
} | } |
You may need to add tests in lvm/test/Transforms/AtomicExpand/LoongArch.