1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

[WebAssembly] Remove unnecessary subtarget checks in peephole pass

Leftover from D22686; the passes can handle all the instructions
unconditionally; only isel needs to care whether to generate them.

llvm-svn: 277549
This commit is contained in:
Derek Schuff 2016-08-02 23:31:56 +00:00
parent b4bb0622e7
commit f6b9716fa1

View File

@ -108,8 +108,7 @@ bool WebAssemblyPeephole::runOnMachineFunction(MachineFunction &MF) {
MachineRegisterInfo &MRI = MF.getRegInfo();
WebAssemblyFunctionInfo &MFI = *MF.getInfo<WebAssemblyFunctionInfo>();
const auto &Subtarget = MF.getSubtarget<WebAssemblySubtarget>();
const auto &TII = *Subtarget.getInstrInfo();
const auto &TII = *MF.getSubtarget<WebAssemblySubtarget>().getInstrInfo();
const WebAssemblyTargetLowering &TLI =
*MF.getSubtarget<WebAssemblySubtarget>().getTargetLowering();
auto &LibInfo = getAnalysis<TargetLibraryInfoWrapperPass>().getTLI();
@ -188,32 +187,24 @@ bool WebAssemblyPeephole::runOnMachineFunction(MachineFunction &MF) {
WebAssembly::COPY_LOCAL_F64);
break;
case WebAssembly::RETURN_v16i8:
Changed |=
Subtarget.hasSIMD128() &&
MaybeRewriteToFallthrough(MI, MBB, MF, MFI, MRI, TII,
WebAssembly::FALLTHROUGH_RETURN_v16i8,
WebAssembly::COPY_LOCAL_V128);
Changed |= MaybeRewriteToFallthrough(
MI, MBB, MF, MFI, MRI, TII, WebAssembly::FALLTHROUGH_RETURN_v16i8,
WebAssembly::COPY_LOCAL_V128);
break;
case WebAssembly::RETURN_v8i16:
Changed |=
Subtarget.hasSIMD128() &&
MaybeRewriteToFallthrough(MI, MBB, MF, MFI, MRI, TII,
WebAssembly::FALLTHROUGH_RETURN_v8i16,
WebAssembly::COPY_LOCAL_V128);
Changed |= MaybeRewriteToFallthrough(
MI, MBB, MF, MFI, MRI, TII, WebAssembly::FALLTHROUGH_RETURN_v8i16,
WebAssembly::COPY_LOCAL_V128);
break;
case WebAssembly::RETURN_v4i32:
Changed |=
Subtarget.hasSIMD128() &&
MaybeRewriteToFallthrough(MI, MBB, MF, MFI, MRI, TII,
WebAssembly::FALLTHROUGH_RETURN_v4i32,
WebAssembly::COPY_LOCAL_V128);
Changed |= MaybeRewriteToFallthrough(
MI, MBB, MF, MFI, MRI, TII, WebAssembly::FALLTHROUGH_RETURN_v4i32,
WebAssembly::COPY_LOCAL_V128);
break;
case WebAssembly::RETURN_v4f32:
Changed |=
Subtarget.hasSIMD128() &&
MaybeRewriteToFallthrough(MI, MBB, MF, MFI, MRI, TII,
WebAssembly::FALLTHROUGH_RETURN_v4f32,
WebAssembly::COPY_LOCAL_V128);
Changed |= MaybeRewriteToFallthrough(
MI, MBB, MF, MFI, MRI, TII, WebAssembly::FALLTHROUGH_RETURN_v4f32,
WebAssembly::COPY_LOCAL_V128);
break;
case WebAssembly::RETURN_VOID:
if (!DisableWebAssemblyFallthroughReturnOpt &&