brintos

brintos / llvm-project-archived public Read only

0
0
Text · 777 B · 217f08b Raw
23 lines · plain
1; RUN: llc -mtriple=arm64ec-pc-windows-msvc < %s | FileCheck %s2 3; Validates when local linkage functions get a thunk generated.4 5; Being called does not cause a thunk to be generated or the symbol name to be mangled.6; CHECK-NOT: "#does_not_have_addr_taken":7; CHECK-NOT:  $ientry_thunk$cdecl$v$f;8define internal void @does_not_have_addr_taken(float) nounwind {9  ret void10}11define void @calls_does_not_have_addr_taken() nounwind {12  call void @does_not_have_addr_taken(float 0.0)13  ret void14}15 16; Having an address taken does cause a thunk to be generated and the symbol name to be mangled.17; CHECK: "#has_addr_taken":18; CHECK: $ientry_thunk$cdecl$v$i8;19define internal void @has_addr_taken(i64) nounwind {20  ret void21}22@points_to_has_addr_taken = global ptr @has_addr_taken23