mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
InstSimplify: Move a transform from InstCombine to InstSimplify
Several combines involving icmp (shl C2, %X) C1 can be simplified without introducing any new instructions. Move them to InstSimplify; while we are at it, make them more powerful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216642 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1148,22 +1148,6 @@ define i1 @icmp_shl_1_V_eq_32(i32 %V) {
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_eq_31(
|
||||
; CHECK-NEXT: ret i1 false
|
||||
define i1 @icmp_shl_1_V_eq_31(i32 %V) {
|
||||
%shl = shl i32 1, %V
|
||||
%cmp = icmp eq i32 %shl, 31
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_ne_31(
|
||||
; CHECK-NEXT: ret i1 true
|
||||
define i1 @icmp_shl_1_V_ne_31(i32 %V) {
|
||||
%shl = shl i32 1, %V
|
||||
%cmp = icmp ne i32 %shl, 31
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_ult_30(
|
||||
; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp ult i32 %V, 5
|
||||
; CHECK-NEXT: ret i1 [[CMP]]
|
||||
@@ -1209,22 +1193,6 @@ define i1 @icmp_shl_1_V_uge_2147483648(i32 %V) {
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_ugt_2147483648(
|
||||
; CHECK-NEXT: ret i1 false
|
||||
define i1 @icmp_shl_1_V_ugt_2147483648(i32 %V) {
|
||||
%shl = shl i32 1, %V
|
||||
%cmp = icmp ugt i32 %shl, 2147483648
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_ule_2147483648(
|
||||
; CHECK-NEXT: ret i1 true
|
||||
define i1 @icmp_shl_1_V_ule_2147483648(i32 %V) {
|
||||
%shl = shl i32 1, %V
|
||||
%cmp = icmp ule i32 %shl, 2147483648
|
||||
ret i1 %cmp
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @icmp_shl_1_V_ult_2147483648(
|
||||
; CHECK-NEXT: [[CMP:%[a-z0-9]+]] = icmp ne i32 %V, 31
|
||||
; CHECK-NEXT: ret i1 [[CMP]]
|
||||
|
||||
Reference in New Issue
Block a user