brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · efd6c64 Raw
28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=safe-stack -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck %s --check-prefix=TLS3 4target datalayout = "A5"5 6define void @correct_alloca_addrspace() nounwind uwtable safestack {7; TLS-LABEL: define void @correct_alloca_addrspace(8; TLS-SAME: ) #[[ATTR0:[0-9]+]] !annotation [[META0:![0-9]+]] {9; TLS-NEXT:  [[ENTRY:.*:]]10; TLS-NEXT:    [[UNSAFE_STACK_PTR:%.*]] = load ptr addrspace(5), ptr @__safestack_unsafe_stack_ptr, align 811; TLS-NEXT:    [[UNSAFE_STACK_STATIC_TOP:%.*]] = getelementptr i8, ptr addrspace(5) [[UNSAFE_STACK_PTR]], i32 -1612; TLS-NEXT:    store ptr addrspace(5) [[UNSAFE_STACK_STATIC_TOP]], ptr @__safestack_unsafe_stack_ptr, align 813; TLS-NEXT:    [[TMP0:%.*]] = getelementptr i8, ptr addrspace(5) [[UNSAFE_STACK_PTR]], i32 -814; TLS-NEXT:    call void @Capture_as5(ptr addrspace(5) [[TMP0]])15; TLS-NEXT:    store ptr addrspace(5) [[UNSAFE_STACK_PTR]], ptr @__safestack_unsafe_stack_ptr, align 816; TLS-NEXT:    ret void17;18entry:19  %a = alloca i8, align 8, addrspace(5)20  call void @Capture_as5(ptr addrspace(5) %a)21  ret void22}23 24declare void @Capture_as5(ptr addrspace(5))25;.26; TLS: [[META0]] = !{!"unsafe-stack-size", i32 16}27;.28