[PATCH] D58595: [TableGen][SelectionDAG][X86] Add specific isel matchers for immAllZerosV/immAllOnesV. Remove bitcasts from X86 patterns that are no longer necessary.
    Nemanja Ivanovic via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Mar  5 10:37:30 PST 2019
    
    
  
nemanjai added a comment.
I think we should re-think this patch as it seems to massively increase the number of failed attempts the instruction selector makes when selecting code. Below is a trivial example:
  $ cat trivial.ll 
  define dso_local void @foo() {
  entry:
    ret void
  }
  
  $ llc trivial.ll -debug-only=isel -mtriple=x86_64-unknown-unknown 2>&1 | grep -c 'Skipped scope entry'
  106
  
  $ pre-patch-llc trivial.ll -debug-only=isel -mtriple=x86_64-unknown-unknown 2>&1 | grep -c 'Skipped scope entry'
  0
  
  $ llc trivial.ll -debug-only=isel -mtriple=powerpc64le-unknown-unknown 2>&1 | grep -c 'Skipped scope entry'
  86
  
  $ pre-patch-llc trivial.ll -debug-only=isel -mtriple=powerpc64le-unknown-unknown 2>&1 | grep -c 'Skipped scope entry'
  1
It would stand to reason that this issue would compound with real-world size code and lead to significant increases in compile time.
Repository:
  rL LLVM
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58595/new/
https://reviews.llvm.org/D58595
    
    
More information about the llvm-commits
mailing list