diff options
| author | Fangrui Song <maskray@google.com> | 2020-01-23 14:46:28 -0800 |
|---|---|---|
| committer | Fangrui Song <maskray@google.com> | 2020-01-24 10:38:40 -0800 |
| commit | 4d5a200f31d565cf7762a3cde30375f5d8a309c6 (patch) | |
| tree | c10e55b1b6c7aab5ea10da68cd568d7243024460 /llvm/lib | |
| parent | 5d1fe1a1a9f18c5009e9e282b755e52c5e7ce5a2 (diff) | |
| download | bcm5719-llvm-4d5a200f31d565cf7762a3cde30375f5d8a309c6.tar.gz bcm5719-llvm-4d5a200f31d565cf7762a3cde30375f5d8a309c6.zip | |
[PatchableFunction] Allow empty entry MachineBasicBlock
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D73301
(cherry picked from commit 50a3ff30e1587235d1830fec9694c1239302ab9f)
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/PatchableFunction.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/PatchableFunction.cpp b/llvm/lib/CodeGen/PatchableFunction.cpp index 1d6069c5055..a8466396f9b 100644 --- a/llvm/lib/CodeGen/PatchableFunction.cpp +++ b/llvm/lib/CodeGen/PatchableFunction.cpp @@ -57,10 +57,15 @@ static bool doesNotGeneratecode(const MachineInstr &MI) { bool PatchableFunction::runOnMachineFunction(MachineFunction &MF) { if (MF.getFunction().hasFnAttribute("patchable-function-entry")) { MachineBasicBlock &FirstMBB = *MF.begin(); - MachineInstr &FirstMI = *FirstMBB.begin(); const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo(); - BuildMI(FirstMBB, FirstMI, FirstMI.getDebugLoc(), - TII->get(TargetOpcode::PATCHABLE_FUNCTION_ENTER)); + if (FirstMBB.empty()) { + BuildMI(&FirstMBB, DebugLoc(), + TII->get(TargetOpcode::PATCHABLE_FUNCTION_ENTER)); + } else { + MachineInstr &FirstMI = *FirstMBB.begin(); + BuildMI(FirstMBB, FirstMI, FirstMI.getDebugLoc(), + TII->get(TargetOpcode::PATCHABLE_FUNCTION_ENTER)); + } return true; } |

