| OLD | NEW |
| 1 ; RUN: opt %s -minsfi-expand-allocas -S | FileCheck %s | 1 ; RUN: opt %s -minsfi-expand-allocas -S | FileCheck %s |
| 2 | 2 |
| 3 target datalayout = "p:32:32:32" | 3 target datalayout = "p:32:32:32" |
| 4 target triple = "le32-unknown-nacl" | 4 target triple = "le32-unknown-nacl" |
| 5 | 5 |
| 6 @__sfi_stack_ptr = external global i32 | 6 @__sfi_stack_ptr = external global i32 |
| 7 | 7 |
| 8 ; CHECK: @__sfi_stack_ptr1 = internal global i32 | 8 ; CHECK: @__sfi_stack_ptr1 = internal global i32 |
| 9 | 9 |
| 10 define i8* @test_correct_global_var_used() { | 10 define i8* @test_correct_global_var_used() { |
| 11 %ptr = alloca i8 | 11 %ptr = alloca i8 |
| 12 ret i8* %ptr | 12 ret i8* %ptr |
| 13 } | 13 } |
| 14 | 14 |
| 15 ; CHECK-LABEL: define i8* @test_correct_global_var_used() { | 15 ; CHECK-LABEL: define i8* @test_correct_global_var_used() { |
| 16 ; CHECK-NEXT: %frame_top = load i32* @__sfi_stack_ptr1 | 16 ; CHECK-NEXT: %frame_top = load i32, i32* @__sfi_stack_ptr1 |
| 17 ; CHECK-NEXT: %1 = sub i32 %frame_top, 1 | 17 ; CHECK-NEXT: %1 = sub i32 %frame_top, 1 |
| 18 ; CHECK-NEXT: %ptr = inttoptr i32 %1 to i8* | 18 ; CHECK-NEXT: %ptr = inttoptr i32 %1 to i8* |
| 19 ; CHECK-NEXT: ret i8* %ptr | 19 ; CHECK-NEXT: ret i8* %ptr |
| 20 ; CHECK-NEXT: } | 20 ; CHECK-NEXT: } |
| 21 | 21 |
| 22 define i32 @_start_minsfi(i32 %args) { | 22 define i32 @_start_minsfi(i32 %args) { |
| 23 ret i32 0 | 23 ret i32 0 |
| 24 } | 24 } |
| OLD | NEW |