[PATCH] D42032: [LLVM][PASSES][InstCombine] Fix (a + a + ...) / a cases
    Anton Bikineev via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sun Jan 14 18:43:02 PST 2018
    
    
  
AntonBikineev added a comment.
Hey Roman,
Thanks for the comments.
> 1. Please upload patches with full context (`-U999999`)
Done.
> 2. This needs testing coverage https://bugs.llvm.org/show_bug.cgi?id=35709#c1 notes that "(x+x+x)/x" is already handled, so maybe search for it and look how it is tested? And given that this is a generalization of that, perhaps that one is no longer needed?
The "(x+x+x)/x" case is handled because "(x+x+x)" gets turned into "mul %x, 3" and then another simplification "(x * y) / x -> y" takes place. Things like "x+x" (with power-of-2 number of terms) in turn, get simplified into "shl %x,  constant". So it's not a generalization, but a particular case.
https://reviews.llvm.org/D42032
    
    
More information about the llvm-commits
mailing list