mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
46a94fccf7
https://reviews.llvm.org/D57178 Now add a hook in TargetPassConfig to query if CSE needs to be enabled. By default this hook returns false only for O0 opt level but this can be overridden by the target. As a consequence of the default of enabled for non O0, a few tests needed to be updated to not use CSE (by passing in -O0) to the run line. reviewed by: arsenm llvm-svn: 352126
72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
# RUN: llc -O0 -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s
|
|
|
|
--- |
|
|
|
|
define void @test_sub_i1() { ret void}
|
|
|
|
define i32 @test_sub_i32(i32 %arg1, i32 %arg2) {
|
|
%ret = sub i32 %arg1, %arg2
|
|
ret i32 %ret
|
|
}
|
|
|
|
...
|
|
---
|
|
name: test_sub_i1
|
|
alignment: 4
|
|
legalized: false
|
|
regBankSelected: false
|
|
registers:
|
|
- { id: 0, class: _, preferred-register: '' }
|
|
- { id: 1, class: _, preferred-register: '' }
|
|
- { id: 2, class: _, preferred-register: '' }
|
|
body: |
|
|
bb.1 (%ir-block.0):
|
|
|
|
; CHECK-LABEL: name: test_sub_i1
|
|
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $edx
|
|
; CHECK: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)
|
|
; CHECK: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[COPY]](s32)
|
|
; CHECK: [[SUB:%[0-9]+]]:_(s8) = G_SUB [[TRUNC]], [[TRUNC1]]
|
|
; CHECK: [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF
|
|
; CHECK: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1
|
|
; CHECK: [[COPY1:%[0-9]+]]:_(s8) = COPY [[SUB]](s8)
|
|
; CHECK: [[AND:%[0-9]+]]:_(s8) = G_AND [[COPY1]], [[C]]
|
|
; CHECK: G_STORE [[AND]](s8), [[DEF]](p0) :: (store 1)
|
|
; CHECK: RET 0
|
|
%0(s32) = COPY $edx
|
|
%1(s1) = G_TRUNC %0(s32)
|
|
%2(s1) = G_SUB %1, %1
|
|
%3:_(p0) = G_IMPLICIT_DEF
|
|
G_STORE %2, %3 :: (store 1)
|
|
RET 0
|
|
...
|
|
---
|
|
name: test_sub_i32
|
|
alignment: 4
|
|
legalized: false
|
|
regBankSelected: false
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: _ }
|
|
- { id: 1, class: _ }
|
|
- { id: 2, class: _ }
|
|
body: |
|
|
bb.1 (%ir-block.0):
|
|
liveins: $edi, $esi
|
|
|
|
; CHECK-LABEL: name: test_sub_i32
|
|
; CHECK: liveins: $edi, $esi
|
|
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $edi
|
|
; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $esi
|
|
; CHECK: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[COPY]], [[COPY1]]
|
|
; CHECK: $eax = COPY [[SUB]](s32)
|
|
; CHECK: RET 0, implicit $eax
|
|
%0(s32) = COPY $edi
|
|
%1(s32) = COPY $esi
|
|
%2(s32) = G_SUB %0, %1
|
|
$eax = COPY %2(s32)
|
|
RET 0, implicit $eax
|
|
|
|
...
|