logicaltest.ll 787 B

1234567891011121314151617181920212223242526272829303132333435
  1. ; Ensure constant propagation of logical instructions is working correctly.
  2. ; RUN: opt < %s -constprop -die -S | FileCheck %s
  3. ; CHECK-NOT: {{and|or|xor}}
  4. define i32 @test1() {
  5. %R = and i32 4, 1234 ; <i32> [#uses=1]
  6. ret i32 %R
  7. }
  8. define i1 @test1.upgrd.1() {
  9. %R = and i1 true, false ; <i1> [#uses=1]
  10. ret i1 %R
  11. }
  12. define i32 @test2() {
  13. %R = or i32 4, 1234 ; <i32> [#uses=1]
  14. ret i32 %R
  15. }
  16. define i1 @test2.upgrd.2() {
  17. %R = or i1 true, false ; <i1> [#uses=1]
  18. ret i1 %R
  19. }
  20. define i32 @test3() {
  21. %R = xor i32 4, 1234 ; <i32> [#uses=1]
  22. ret i32 %R
  23. }
  24. define i1 @test3.upgrd.3() {
  25. %R = xor i1 true, false ; <i1> [#uses=1]
  26. ret i1 %R
  27. }