[llvm] [GlobalISel] Combine G_ZEXT of undef -> 0 (PR #113764)

Amara Emerson via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 29 14:28:12 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)) {
----------------
aemerson wrote:

> Splitting legalization between match and apply or moving it into match is error prone. The next refactoring will be really bad. The match function is for higher level decisions.

You're assuming this is true when it's just your opinion.

https://github.com/llvm/llvm-project/pull/113764


More information about the llvm-commits mailing list