[llvm] r358702 - [NFC] FMF propagation for GlobalIsel
Michael Berg via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 18 11:56:02 PDT 2019
Currently only affects us internally with some other changes only we have. Otherwise just these changes alone do not change our testing.
Regards,
Michael
> On Apr 18, 2019, at 11:49 AM, Arsenault, Matthew <Matthew.Arsenault at amd.com> wrote:
>
> Tests?
>
> On 4/18/19, 8:46 PM, "llvm-commits on behalf of Michael Berg via llvm-commits" <llvm-commits-bounces at lists.llvm.org on behalf of llvm-commits at lists.llvm.org> wrote:
>
> Author: mcberg2017
> Date: Thu Apr 18 11:48:57 2019
> New Revision: 358702
>
> URL: http://llvm.org/viewvc/llvm-project?rev=358702&view=rev
> Log:
> [NFC] FMF propagation for GlobalIsel
>
> Modified:
> llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
> llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
>
> Modified: llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=358702&r1=358701&r2=358702&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp (original)
> +++ llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp Thu Apr 18 11:48:57 2019
> @@ -1166,6 +1166,8 @@ bool IRTranslator::translateCall(const U
>
> MachineInstrBuilder MIB =
> MIRBuilder.buildIntrinsic(ID, ResultRegs, !CI.doesNotAccessMemory());
> + if (isa<FPMathOperator>(CI))
> + MIB->copyIRFlags(CI);
>
> for (auto &Arg : CI.arg_operands()) {
> // Some intrinsics take metadata parameters. Reject them.
>
> Modified: llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp?rev=358702&r1=358701&r2=358702&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (original)
> +++ llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp Thu Apr 18 11:48:57 2019
> @@ -1437,10 +1437,11 @@ LegalizerHelper::lower(MachineInstr &MI,
> ConstantFP &ZeroForNegation =
> *cast<ConstantFP>(ConstantFP::getZeroValueForNegation(ZeroTy));
> auto Zero = MIRBuilder.buildFConstant(Ty, ZeroForNegation);
> - MIRBuilder.buildInstr(TargetOpcode::G_FSUB)
> - .addDef(Res)
> - .addUse(Zero->getOperand(0).getReg())
> - .addUse(MI.getOperand(1).getReg());
> + unsigned SubByReg = MI.getOperand(1).getReg();
> + unsigned ZeroReg = Zero->getOperand(0).getReg();
> + MachineInstr *SrcMI = MRI.getVRegDef(SubByReg);
> + MIRBuilder.buildInstr(TargetOpcode::G_FSUB, {Res}, {ZeroReg, SubByReg},
> + SrcMI->getFlags());
> MI.eraseFromParent();
> return Legalized;
> }
> @@ -1455,10 +1456,7 @@ LegalizerHelper::lower(MachineInstr &MI,
> unsigned RHS = MI.getOperand(2).getReg();
> unsigned Neg = MRI.createGenericVirtualRegister(Ty);
> MIRBuilder.buildInstr(TargetOpcode::G_FNEG).addDef(Neg).addUse(RHS);
> - MIRBuilder.buildInstr(TargetOpcode::G_FADD)
> - .addDef(Res)
> - .addUse(LHS)
> - .addUse(Neg);
> + MIRBuilder.buildInstr(TargetOpcode::G_FADD, {Res}, {LHS, Neg}, MI.getFlags());
> MI.eraseFromParent();
> return Legalized;
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
More information about the llvm-commits
mailing list