mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -579,7 +579,16 @@ ComputeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites,
|
||||
}
|
||||
|
||||
// Otherwise, create a new call-site.
|
||||
CallSites.push_back(Site);
|
||||
if (MAI->getExceptionHandlingType() == ExceptionHandling::Dwarf)
|
||||
CallSites.push_back(Site);
|
||||
else {
|
||||
// SjLj EH must maintain the call sites in the order assigned
|
||||
// to them by the SjLjPrepare pass.
|
||||
unsigned SiteNo = MMI->getCallSiteBeginLabel(BeginLabel);
|
||||
if (CallSites.size() < SiteNo)
|
||||
CallSites.resize(SiteNo);
|
||||
CallSites[SiteNo - 1] = Site;
|
||||
}
|
||||
PreviousIsInvoke = true;
|
||||
} else {
|
||||
// Create a gap.
|
||||
|
Reference in New Issue
Block a user