Annoyingly vectors aren't supported by shouldChangeType(), but we have precedents for always performing this on vector types (e.g. narrowBinOp)
Details
Details
Diff Detail
Diff Detail
- Repository
 - rG LLVM Github Monorepo
 
Paths 
  |  Differential  D89067  
[InstCombine] visitTrunc - trunc(shl(X, C)) --> shl(trunc(X),trunc(C)) vector support ClosedPublic Authored by RKSimon on Oct 8 2020, 1:18 PM. 
Details Summary Annoyingly vectors aren't supported by shouldChangeType(), but we have precedents for always performing this on vector types (e.g. narrowBinOp) 
Diff Detail 
 Event TimelineThis revision is now accepted and ready to land.Oct 8 2020, 1:23 PM Closed by commit rGd9f064dc0bd4: [InstCombine] visitTrunc - trunc(shl(X, C)) --> shl(trunc(X),trunc(C)) vector… (authored by RKSimon).  ·  Explain WhyOct 8 2020, 2:11 PM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 297039 llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
 llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
 llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
 llvm/test/Transforms/InstCombine/trunc.ll
  | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||