summaryrefslogtreecommitdiff
path: root/compiler/aoptobj.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/aoptobj.pas')
-rw-r--r--compiler/aoptobj.pas7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/aoptobj.pas b/compiler/aoptobj.pas
index a7836c820f..29b33958f3 100644
--- a/compiler/aoptobj.pas
+++ b/compiler/aoptobj.pas
@@ -380,6 +380,7 @@ Unit AoptObj;
globals,
verbose,
aoptutils,
+ aasmcfi,
procinfo;
@@ -1592,8 +1593,10 @@ Unit AoptObj;
(JumpTargetOp(taicpu(hp1))^.ref^.symbol is TAsmLabel) then
TAsmLabel(JumpTargetOp(taicpu(hp1))^.ref^.symbol).decrefs;
{ don't kill start/end of assembler block,
- no-line-info-start/end etc }
- if not(hp1.typ in [ait_align,ait_marker]) then
+ no-line-info-start/end, cfi end, etc }
+ if not(hp1.typ in [ait_align,ait_marker]) and
+ ((hp1.typ<>ait_cfi) or
+ (tai_cfi_base(hp1).cfityp<>cfi_endproc)) then
begin
{$ifdef cpudelayslot}
if (hp1.typ=ait_instruction) and (taicpu(hp1).is_jmp) then