[all-commits] [llvm/llvm-project] da7282: GlobalISel: Fix CSEMIRBuilder mishandling constant...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jan 18 14:21:19 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: da7282276385f82092fed4e73373bbfaf7cd8331
      https://github.com/llvm/llvm-project/commit/da7282276385f82092fed4e73373bbfaf7cd8331
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combiner-crash.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constant-fold-vector-op.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-getelementptr.ll

  Log Message:
  -----------
  GlobalISel: Fix CSEMIRBuilder mishandling constant folds of vectors

This was ignoring the requested result register, resulting in a
missing def when this happened in the IRTranslator. Fixes some crashes
and verifier errors at -O0.

Alternatively we could pass DstOps to the constant fold functions.


  Commit: 5599c43124c5ba70738494466ea3dc722759274c
      https://github.com/llvm/llvm-project/commit/5599c43124c5ba70738494466ea3dc722759274c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp

  Log Message:
  -----------
  GlobalISel: Swap order of operand checks in ConstantFoldVectorBinop

Since constants are canonicalized to the RHS, this is more likely to
exit early.


Compare: https://github.com/llvm/llvm-project/compare/ec47dba1c8a2...5599c43124c5


More information about the All-commits mailing list