Files
llvm-6502/test/CodeGen/ARM
Jim Grosbach 51a0280d29 DAG: Combine (and (setne X, 0), (setne X, -1)) -> (setuge (add X, 1), 2)
A common idiom is to use zero and all-ones as sentinal values and to
check for both in a single conditional ("x != 0 && x != (unsigned)-1").
That generates code, for i32, like:
  testl %edi, %edi
  setne %al
  cmpl  $-1, %edi
  setne %cl
  andb  %al, %cl

With this transform, we generate the simpler:
  incl  %edi
  cmpl  $1, %edi
  seta  %al

Similar improvements for other integer sizes and on other platforms. In
general, combining the two setcc instructions into one is better.

rdar://14689217

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188315 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 21:30:58 +00:00
..
2013-05-20 08:01:34 +00:00
…
…
…
…
…
2012-06-11 08:07:26 +00:00
2012-02-28 02:08:50 +00:00
…
…
…
…
…
2012-06-15 21:32:12 +00:00
…
…
…
…
…
…
…
2011-11-29 23:09:16 +00:00
2012-09-29 21:43:49 +00:00
…
…
…
…
…
…
…
…
…
2013-07-18 13:17:26 +00:00
…
…