[PATCH] D97938: [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))
Mirko Brkusanin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 30 07:47:52 PDT 2021
- Previous message: [PATCH] D97938: [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))
- Next message: [PATCH] D97938: [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
mbrkusanin added inline comments.
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:4464
+ if (FMA) {
+ MachineInstr *FMA2 = MRI.getVRegDef(FMA->getOperand(3).getReg());
+ Register X = FMA->getOperand(1).getReg();
----------------
This matches to fmul in pattern in comment above. Better to rename to FMul.
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:4472-4475
+ Register TmpReg = MRI.createGenericVirtualRegister(DstTy);
+ Builder.buildInstr(PreferredFusedOpcode, {TmpReg}, {U, V, Z});
+ Builder.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()},
+ {X, Y, TmpReg});
----------------
Use B not Builder.
You can just pass DstTy for dst instead of making TmpReg and get it below with .getReg(0). Or at lease rename it to FMA or InnerFMA.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97938/new/
https://reviews.llvm.org/D97938
- Previous message: [PATCH] D97938: [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))
- Next message: [PATCH] D97938: [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the llvm-commits
mailing list