diff options
-rw-r--r-- | llvm/lib/CodeGen/FEntryInserter.cpp | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/fentry-insertion.ll | 16 |
2 files changed, 16 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/FEntryInserter.cpp b/llvm/lib/CodeGen/FEntryInserter.cpp index 0759bf6713e..9781338f952 100644 --- a/llvm/lib/CodeGen/FEntryInserter.cpp +++ b/llvm/lib/CodeGen/FEntryInserter.cpp @@ -41,10 +41,8 @@ bool FEntryInserter::runOnMachineFunction(MachineFunction &MF) { return false; auto &FirstMBB = *MF.begin(); - auto &FirstMI = *FirstMBB.begin(); - auto *TII = MF.getSubtarget().getInstrInfo(); - BuildMI(FirstMBB, FirstMI, FirstMI.getDebugLoc(), + BuildMI(FirstMBB, FirstMBB.begin(), DebugLoc(), TII->get(TargetOpcode::FENTRY_CALL)); return true; } diff --git a/llvm/test/CodeGen/X86/fentry-insertion.ll b/llvm/test/CodeGen/X86/fentry-insertion.ll index a585d96b209..c5fb3b254b2 100644 --- a/llvm/test/CodeGen/X86/fentry-insertion.ll +++ b/llvm/test/CodeGen/X86/fentry-insertion.ll @@ -12,5 +12,19 @@ entry: ; CHECK: retq } -attributes #0 = { "fentry-call"="true" } +define void @test2() #1 { +entry: + br label %bb1 +bb1: + call void @address_taken(i64 ptrtoint (i8* blockaddress(@test2, %bb1) to i64), i32 512) + ret void +; CHECK-LABEL: @test2 +; CHECK: callq __fentry__ +; CHECK-NOT: mcount +; CHECK: retq +} + +declare void @address_taken(i64, i32) local_unnamed_addr +attributes #0 = { "fentry-call"="true" } +attributes #1 = { inlinehint minsize noredzone nounwind optsize sspstrong "fentry-call"="true" } |