LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 1496 - tail merging badness with exception handling
Summary: tail merging badness with exception handling
Status: RESOLVED FIXED
Alias: None
Product: new-bugs
Classification: Unclassified
Component: new bugs (show other bugs)
Version: unspecified
Hardware: Other Linux
: P normal
Assignee: Unassigned LLVM Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-04 16:11 PDT by Duncan Sands
Modified: 2018-11-07 00:22 PST (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments
testcase .ll (25.04 KB, text/plain)
2007-06-04 16:12 PDT, Duncan Sands
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan Sands 2007-06-04 16:11:44 PDT
If I compile the testcase like this
$ llc -enable-eh report.bc
then block invcont131 is removed (this
is the first block to be removed).  It
should not be removed.  If I turn off
tail merging then it is no longer removed.

Here is a valid path through the function:

entry -> bb -> cond_next44 -> cond_true80 ->
cond_next109 -> invcont131 -> cond_next618 (returns)
Comment 1 Duncan Sands 2007-06-04 16:12:23 PDT
Created attachment 1000 [details]
testcase .ll
Comment 2 Dale Johannesen 2007-06-04 16:19:55 PDT
I'll look.
Comment 4 Dale Johannesen 2007-06-05 12:41:48 PDT
Closing per following comment (from private e-mail)
Yup, that fixed it - thanks a lot!

Best wishes,

Duncan.