diff options
| author | Mirko Brkusanin <Mirko.Brkusanin@rt-rk.com> | 2019-10-10 12:02:14 +0000 |
|---|---|---|
| committer | Mirko Brkusanin <Mirko.Brkusanin@rt-rk.com> | 2019-10-10 12:02:14 +0000 |
| commit | c2e481679bc15a3ef15c9d9c94e4e56620f43d6f (patch) | |
| tree | 8ee759909f8071ec66b6ad17dc0b559be07dad67 /llvm/lib/Target/Mips | |
| parent | b6f1d1fa0e3ee0e25f22414bf97c05276b934507 (diff) | |
| download | bcm5719-llvm-c2e481679bc15a3ef15c9d9c94e4e56620f43d6f.tar.gz bcm5719-llvm-c2e481679bc15a3ef15c9d9c94e4e56620f43d6f.zip | |
[Mips] Fix 374055
EXPENSIVE_CHECKS build was failing on new test.
This is fixed by marking $ra register as undef.
Test now has -verify-machineinstrs to check for operand flags.
llvm-svn: 374320
Diffstat (limited to 'llvm/lib/Target/Mips')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp b/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp index 65afb3650f8..c8313240a67 100644 --- a/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp +++ b/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp @@ -129,9 +129,9 @@ void MipsSEDAGToDAGISel::emitMCountABI(MachineInstr &MI, MachineBasicBlock &MBB, MachineInstrBuilder MIB(MF, &MI); if (!Subtarget->isABI_O32()) { // N32, N64 // Save current return address. - BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::OR)) + BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::OR64)) .addDef(Mips::AT_64) - .addUse(Mips::RA_64) + .addUse(Mips::RA_64, RegState::Undef) .addUse(Mips::ZERO_64); // Stops instruction above from being removed later on. MIB.addUse(Mips::AT_64, RegState::Implicit); @@ -139,7 +139,7 @@ void MipsSEDAGToDAGISel::emitMCountABI(MachineInstr &MI, MachineBasicBlock &MBB, // Save current return address. BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::OR)) .addDef(Mips::AT) - .addUse(Mips::RA) + .addUse(Mips::RA, RegState::Undef) .addUse(Mips::ZERO); // _mcount pops 2 words from stack. BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Mips::ADDiu)) |

