[all-commits] [llvm/llvm-project] ed0303: [X86] LowerTRUNCATE - avoid creating extract_subve...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue May 31 06:31:20 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ed0303aa2251e4484a2b4ff7f236c9f7cdfb2092
      https://github.com/llvm/llvm-project/commit/ed0303aa2251e4484a2b4ff7f236c9f7cdfb2092
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-05-31 (Tue, 31 May 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerTRUNCATE - avoid creating extract_subvector(bitcast(vec)) patterns

We have a generic DAG combine to attempt to fold extract_subvector(bitcast(vec)) -> bitcast(extract_subvector(vec)) but if we create these patterns late in lowering then we often miss them.

Noticed while investigating Issue #55648 which gets caught in an infinite loop trying to split extract_subvector(bitcast(vselect()) patterns - this doesn't fix the issue yet but reduces the regressions from the WIP fix.




More information about the All-commits mailing list