mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2
The pass to split atomic and non-atomic RISC-V pseudo-instructions was itself split into two passes in D79635 / commit rG2cb0644f90b7, with the splitting of non-atomic instructions being moved to the PreSched2 phase. A comment was added to D79635 detailing a case where this caused problems, so this commit moves the non-atomic split pass back to the PreEmitPass2 phase. This allows the bulk of the changes from D79635 to remain committed, while addressing the the reported problem (the pass split is now almost NFC). Once the root problem is fixed we can move the (non-atomic) instruction splitting pass back to earlier in the pipeline.
This commit is contained in:
parent
ac895f6f89
commit
c4badcfa4a
@ -168,11 +168,12 @@ bool RISCVPassConfig::addGlobalInstructionSelect() {
|
||||
return false;
|
||||
}
|
||||
|
||||
void RISCVPassConfig::addPreSched2() { addPass(createRISCVExpandPseudoPass()); }
|
||||
void RISCVPassConfig::addPreSched2() { }
|
||||
|
||||
void RISCVPassConfig::addPreEmitPass() { addPass(&BranchRelaxationPassID); }
|
||||
|
||||
void RISCVPassConfig::addPreEmitPass2() {
|
||||
addPass(createRISCVExpandPseudoPass());
|
||||
// Schedule the expansion of AMOs at the last possible moment, avoiding the
|
||||
// possibility for other passes to break the requirements for forward
|
||||
// progress in the LR/SC block.
|
||||
|
Loading…
x
Reference in New Issue
Block a user