mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-22 09:29:31 +00:00
Try to eliminate the use of the 'unwind' instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139046 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4136d23c48
commit
47e208bbea
@ -11,7 +11,7 @@ entry:
|
|||||||
cleanup144: ; preds = %entry
|
cleanup144: ; preds = %entry
|
||||||
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||||
cleanup
|
cleanup
|
||||||
unwind
|
resume { i8*, i32 } %exn
|
||||||
}
|
}
|
||||||
|
|
||||||
declare i32 @__gxx_personality_v0(...)
|
declare i32 @__gxx_personality_v0(...)
|
||||||
|
@ -11,6 +11,6 @@ invoke_catch.0: ; No predecessors!
|
|||||||
br i1 false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
|
br i1 false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
|
||||||
|
|
||||||
UnifiedUnwindBlock: ; preds = %invoke_catch.0
|
UnifiedUnwindBlock: ; preds = %invoke_catch.0
|
||||||
unwind
|
unreachable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ invoke_catch.0: ; preds = %entry
|
|||||||
to label %tmp.1.i.i183.noexc unwind label %terminate
|
to label %tmp.1.i.i183.noexc unwind label %terminate
|
||||||
|
|
||||||
tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
|
tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
|
||||||
unwind
|
ret void
|
||||||
|
|
||||||
then.0: ; preds = %tmp.3.i.noexc
|
then.0: ; preds = %tmp.3.i.noexc
|
||||||
invoke void @_ZN10QByteArray6resizeEi( )
|
invoke void @_ZN10QByteArray6resizeEi( )
|
||||||
|
@ -10,7 +10,7 @@ entry:
|
|||||||
r:
|
r:
|
||||||
ret i32 0
|
ret i32 0
|
||||||
u:
|
u:
|
||||||
unwind
|
unreachable
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @caller() {
|
define i32 @caller() {
|
||||||
|
@ -110,12 +110,18 @@ bb106: ; preds = %invcont105, %bb61
|
|||||||
to label %.noexc unwind label %lpad119 ; <i8*> [#uses=1]
|
to label %.noexc unwind label %lpad119 ; <i8*> [#uses=1]
|
||||||
|
|
||||||
lpad: ; preds = %_ZN7cObjectnwEj.exit
|
lpad: ; preds = %_ZN7cObjectnwEj.exit
|
||||||
|
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||||
|
cleanup
|
||||||
br label %Unwind
|
br label %Unwind
|
||||||
|
|
||||||
lpad119: ; preds = %bb106, %invcont104, %invcont103, %bb102, %bb49, %bb34, %bb12, %invcont10, %invcont9, %bb8
|
lpad119: ; preds = %bb106, %invcont104, %invcont103, %bb102, %bb49, %bb34, %bb12, %invcont10, %invcont9, %bb8
|
||||||
|
%exn119 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||||
|
cleanup
|
||||||
unreachable
|
unreachable
|
||||||
|
|
||||||
lpad123: ; preds = %.noexc
|
lpad123: ; preds = %.noexc
|
||||||
|
%exn123 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||||
|
cleanup
|
||||||
%tmp5 = icmp eq i8* %tmp4, null ; <i1> [#uses=1]
|
%tmp5 = icmp eq i8* %tmp4, null ; <i1> [#uses=1]
|
||||||
br i1 %tmp5, label %Unwind, label %bb.i2
|
br i1 %tmp5, label %Unwind, label %bb.i2
|
||||||
|
|
||||||
@ -126,6 +132,8 @@ Unwind: ; preds = %bb.i2, %lpad123, %lpad
|
|||||||
unreachable
|
unreachable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare i32 @__gxx_personality_v0(...)
|
||||||
|
|
||||||
declare void @_ZN8EtherBus8tokenizeEPKcRSt6vectorIdSaIdEE(i8* nocapture, i8*, i8*)
|
declare void @_ZN8EtherBus8tokenizeEPKcRSt6vectorIdSaIdEE(i8* nocapture, i8*, i8*)
|
||||||
|
|
||||||
declare i8* @_Znaj(i32)
|
declare i8* @_Znaj(i32)
|
||||||
|
@ -461,7 +461,7 @@ cleanup329: ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true27
|
|||||||
%val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
|
%val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
|
||||||
cleanup
|
cleanup
|
||||||
call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
|
call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
|
||||||
unwind
|
resume { i8*, i32 } %val
|
||||||
}
|
}
|
||||||
|
|
||||||
declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
|
declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
|
||||||
|
@ -15,7 +15,7 @@ bb2:
|
|||||||
ret i32 42
|
ret i32 42
|
||||||
|
|
||||||
bb6:
|
bb6:
|
||||||
unwind
|
ret i32 927
|
||||||
}
|
}
|
||||||
|
|
||||||
define i32 @test2(i32 %tmp21, i32 %tmp24, i1 %tmp34) {
|
define i32 @test2(i32 %tmp21, i32 %tmp24, i1 %tmp34) {
|
||||||
@ -26,6 +26,6 @@ bb5: ; preds = %bb4
|
|||||||
bb6:
|
bb6:
|
||||||
ret i32 42
|
ret i32 42
|
||||||
bb7:
|
bb7:
|
||||||
unwind
|
ret i32 927
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,7 +463,7 @@ cleanup329: ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true27
|
|||||||
%val329 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
|
%val329 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
|
||||||
cleanup
|
cleanup
|
||||||
call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
|
call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
|
||||||
unwind
|
resume { i8*, i32 } %val329
|
||||||
}
|
}
|
||||||
|
|
||||||
declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
|
declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
|
||||||
|
@ -14,5 +14,9 @@ r: ; preds = %entry
|
|||||||
ret void
|
ret void
|
||||||
|
|
||||||
u: ; preds = %entry
|
u: ; preds = %entry
|
||||||
unwind
|
%val = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
|
||||||
|
cleanup
|
||||||
|
resume { i8*, i32 } %val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare i32 @__gxx_personality_v0(...)
|
||||||
|
@ -10,6 +10,6 @@ B: ; preds = %0
|
|||||||
call void @test( i1 %C )
|
call void @test( i1 %C )
|
||||||
br label %X
|
br label %X
|
||||||
X: ; preds = %B, %A
|
X: ; preds = %B, %A
|
||||||
unwind
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ entry:
|
|||||||
br i1 %tmp2, label %if, label %else
|
br i1 %tmp2, label %if, label %else
|
||||||
|
|
||||||
if: ; preds = %entry
|
if: ; preds = %entry
|
||||||
unwind
|
ret i32 37
|
||||||
|
|
||||||
else: ; preds = %entry
|
else: ; preds = %entry
|
||||||
%tmp7 = add i32 %start_arg, 1 ; <i32> [#uses=1]
|
%tmp7 = add i32 %start_arg, 1 ; <i32> [#uses=1]
|
||||||
|
Loading…
Reference in New Issue
Block a user