1
Fork 0

Issue #27628 - Also support the LLVM 3.6 IR format in two tests

This commit is contained in:
Sylvestre Ledru 2015-08-11 23:46:32 +02:00
parent 7e13faee17
commit 0fdc4a89f5
2 changed files with 6 additions and 6 deletions

View file

@ -20,14 +20,14 @@ pub struct Bytes {
// CHECK-LABEL: @borrow // CHECK-LABEL: @borrow
#[no_mangle] #[no_mangle]
pub fn borrow(x: &i32) -> &i32 { pub fn borrow(x: &i32) -> &i32 {
// CHECK: load i32*, i32** %x{{.*}}, !nonnull // CHECK: load {{(i32\*, )?}}i32** %x{{.*}}, !nonnull
x x
} }
// CHECK-LABEL: @_box // CHECK-LABEL: @_box
#[no_mangle] #[no_mangle]
pub fn _box(x: Box<i32>) -> i32 { pub fn _box(x: Box<i32>) -> i32 {
// CHECK: load i32*, i32** %x{{.*}}, !nonnull // CHECK: load {{(i32\*, )?}}i32** %x{{.*}}, !nonnull
*x *x
} }
@ -36,7 +36,7 @@ pub fn _box(x: Box<i32>) -> i32 {
// dependent alignment // dependent alignment
#[no_mangle] #[no_mangle]
pub fn small_array_alignment(x: [i8; 4]) -> [i8; 4] { pub fn small_array_alignment(x: [i8; 4]) -> [i8; 4] {
// CHECK: [[VAR:%[0-9]+]] = load i32, i32* %{{.*}}, align 1 // CHECK: [[VAR:%[0-9]+]] = load {{(i32, )?}}i32* %{{.*}}, align 1
// CHECK: ret i32 [[VAR]] // CHECK: ret i32 [[VAR]]
x x
} }
@ -46,7 +46,7 @@ pub fn small_array_alignment(x: [i8; 4]) -> [i8; 4] {
// dependent alignment // dependent alignment
#[no_mangle] #[no_mangle]
pub fn small_struct_alignment(x: Bytes) -> Bytes { pub fn small_struct_alignment(x: Bytes) -> Bytes {
// CHECK: [[VAR:%[0-9]+]] = load i32, i32* %{{.*}}, align 1 // CHECK: [[VAR:%[0-9]+]] = load {{(i32, )?}}i32* %{{.*}}, align 1
// CHECK: ret i32 [[VAR]] // CHECK: ret i32 [[VAR]]
x x
} }

View file

@ -22,7 +22,7 @@ pub struct Bytes {
// dependent alignment // dependent alignment
#[no_mangle] #[no_mangle]
pub fn small_array_alignment(x: &mut [i8; 4]) { pub fn small_array_alignment(x: &mut [i8; 4]) {
// CHECK: [[VAR:%[0-9]+]] = load [4 x i8]*, [4 x i8]** %x // CHECK: [[VAR:%[0-9]+]] = load {{(\[4 x i8\]\*, )?}}[4 x i8]** %x
// CHECK: [[VAR2:%[0-9]+]] = bitcast [4 x i8]* [[VAR]] to i32* // CHECK: [[VAR2:%[0-9]+]] = bitcast [4 x i8]* [[VAR]] to i32*
// CHECK: store i32 %{{.*}}, i32* [[VAR2]], align 1 // CHECK: store i32 %{{.*}}, i32* [[VAR2]], align 1
*x = [0; 4]; *x = [0; 4];
@ -33,7 +33,7 @@ pub fn small_array_alignment(x: &mut [i8; 4]) {
// dependent alignment // dependent alignment
#[no_mangle] #[no_mangle]
pub fn small_struct_alignment(x: &mut Bytes) { pub fn small_struct_alignment(x: &mut Bytes) {
// CHECK: [[VAR:%[0-9]+]] = load %Bytes*, %Bytes** %x // CHECK: [[VAR:%[0-9]+]] = load {{(%Bytes\*, )?}}%Bytes** %x
// CHECK: [[VAR2:%[0-9]+]] = bitcast %Bytes* [[VAR]] to i32* // CHECK: [[VAR2:%[0-9]+]] = bitcast %Bytes* [[VAR]] to i32*
// CHECK: store i32 %{{.*}}, i32* [[VAR2]], align 1 // CHECK: store i32 %{{.*}}, i32* [[VAR2]], align 1
*x = Bytes { *x = Bytes {