search for: matchselectpattern

Displaying 6 results from an estimated 6 matches for "matchselectpattern".

2018 May 17
0
Rotates, once again
...Tracking VectorUtils SelectionDAGBuilder But I don't think it's fair to view those additions as pure added cost. As an example, consider that we have to add hacks to EarlyCSE to recognize multi-IR-instruction min/max/abs patterns. Intrinsics just work as-is there. So if you search for 'matchSelectPattern', you get an idea (I see 32 hits in 10 files) of the cost of *not* having intrinsics for those operations that we've decided are not worthy of intrinsics. On Wed, May 16, 2018 at 2:20 PM, John Regehr via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On 5/16/18 1:58 PM, Sanjay...
2018 May 17
3
Rotates, once again
...onDAGBuilder > > But I don't think it's fair to view those additions as pure added cost. > As an example, consider that we have to add hacks to EarlyCSE to > recognize multi-IR-instruction min/max/abs patterns. Intrinsics just > work as-is there. So if you search for 'matchSelectPattern', you get an > idea (I see 32 hits in 10 files) of the cost of *not* having intrinsics > for those operations that we've decided are not worthy of intrinsics. > > > On Wed, May 16, 2018 at 2:20 PM, John Regehr via llvm-dev > <llvm-dev at lists.llvm.org <mailto:l...
2018 May 16
3
Rotates, once again
On 5/16/18 1:58 PM, Sanjay Patel via llvm-dev wrote: > An informal metric might be: if the operation is supported as a > primitive op or built-in in source languages and it is supported as a > single target instruction, can we guarantee that 1-to-1 translation > through optimization? It seems perfectly reasonable for LLVM users to expect this to happen reliably. I'd like to
2018 Jul 02
2
Rotates, once again
...#39;t think it's fair to view those additions as pure > added cost. As an example, consider that we have to add hacks > to EarlyCSE to recognize multi-IR-instruction min/max/abs > patterns. Intrinsics just work as-is there. So if you search > for 'matchSelectPattern', you get an idea (I see 32 hits in 10 > files) of the cost of *not* having intrinsics for those > operations that we've decided are not worthy of intrinsics. > > > On Wed, May 16, 2018 at 2:20 PM, John Regehr via llvm-dev > <llvm-dev at...
2016 Jul 30
3
Reasoning about results of min and max with a constant
Hi all, Say we have this IR: %1 = icmp slt i16 %x, 0 %.x = select i1 %1, i16 0, i16 %x This is the canonical form of what is effectively max(x, 0). From what I can tell LLVM has no facilities to determine from this code that %.x >= 0, so (for example) an SExt on %.x will not be converted to a ZExt. I'm interested in seeing what sorts of changes would be needed to recognize this pattern
2016 Nov 08
2
should we have IR intrinsics for integer min/max?
Thanks, Hal and Matt for the feedback. As usual, my instincts about canonicalization were probably wrong. :) I thought that @max1 vs. @max3 would be viewed as an unknowable trade-off between reducing the dependency chain and the pseudo-canonical min/max form, so we'd add intrinsics, and defer that decision to the backend. I'll wait to see if there are any other arguments presented.