[WinEH] Emit .safeseh directives for all 32-bit exception handlers
[oota-llvm.git] / test / CodeGen / X86 / win64_frame.ll
index 535f8b4b0597879c9f0a86bb834f9c5679871f9a..2c62f4918a7f081e8050bfeb59341ae491d24f4c 100644 (file)
@@ -9,7 +9,7 @@ define i32 @f1(i32 %p1, i32 %p2, i32 %p3, i32 %p4, i32 %p5) "no-frame-pointer-el
 define void @f2(i32 %p, ...) "no-frame-pointer-elim"="true" {
   ; CHECK-LABEL: f2:
   ; CHECK:      .seh_stackalloc 8
-  ; CHECK:      leaq    (%rsp), %rbp
+  ; CHECK:      movq    %rsp, %rbp
   ; CHECK:      .seh_setframe 5, 0
   ; CHECK:      movq    %rdx, 32(%rbp)
   ; CHECK:      leaq    32(%rbp), %rax
@@ -20,7 +20,7 @@ define void @f2(i32 %p, ...) "no-frame-pointer-elim"="true" {
 
 define i8* @f3() "no-frame-pointer-elim"="true" {
   ; CHECK-LABEL: f3:
-  ; CHECK:      leaq    (%rsp), %rbp
+  ; CHECK:      movq    %rsp, %rbp
   ; CHECK:      .seh_setframe 5, 0
   ; CHECK:      movq    8(%rbp), %rax
   %ra = call i8* @llvm.returnaddress(i32 0)
@@ -53,7 +53,7 @@ define void @f5() "no-frame-pointer-elim"="true" {
   ; CHECK:      leaq    -92(%rbp), %rcx
   ; CHECK:      callq   external
   %a = alloca [300 x i8]
-  %gep = getelementptr [300 x i8]* %a, i32 0, i32 0
+  %gep = getelementptr [300 x i8], [300 x i8]* %a, i32 0, i32 0
   call void @external(i8* %gep)
   ret void
 }
@@ -67,7 +67,7 @@ define void @f6(i32 %p, ...) "no-frame-pointer-elim"="true" {
   ; CHECK:      leaq    -92(%rbp), %rcx
   ; CHECK:      callq   external
   %a = alloca [300 x i8]
-  %gep = getelementptr [300 x i8]* %a, i32 0, i32 0
+  %gep = getelementptr [300 x i8], [300 x i8]* %a, i32 0, i32 0
   call void @external(i8* %gep)
   ret void
 }
@@ -105,7 +105,7 @@ define i32 @f8(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e) "no-frame-pointer-elim"="
   ; CHECK:        callq   __chkstk
   ; CHECK:        subq    %rax, %rsp
 
-  %gep = getelementptr [300 x i8]* %alloca, i32 0, i32 0
+  %gep = getelementptr [300 x i8], [300 x i8]* %alloca, i32 0, i32 0
   call void @external(i8* %gep)
   ; CHECK:        subq    $32, %rsp
   ; CHECK:        leaq    (%rbx), %rcx