[llvm] [GlobalISel] Combine G_ZEXT of undef -> 0 (PR #113764)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 28 17:20:16 PDT 2024
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/113764 at github.com>
================
@@ -2916,8 +2916,11 @@ void CombinerHelper::replaceInstWithFConstant(MachineInstr &MI, double C) {
void CombinerHelper::replaceInstWithConstant(MachineInstr &MI, int64_t C) {
assert(MI.getNumDefs() == 1 && "Expected only one def?");
- Builder.buildConstant(MI.getOperand(0), C);
- MI.eraseFromParent();
+ LLT DstTy = MRI.getType(MI.getOperand(0).getReg());
+ if (isConstantLegalOrBeforeLegalizer(DstTy)) {
----------------
arsenm wrote:
The helper is probably not that useful if we have to care about legalization as is. Probably should move the predicate into all the matchers, rename the helper, and add an assertion that the constant result is legal/custom
https://github.com/llvm/llvm-project/pull/113764
More information about the llvm-commits
mailing list