http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57055



             Bug #: 57055

           Summary: Incorrect CFG after transactional memory passes

    Classification: Unclassified

           Product: gcc

           Version: 4.9.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: middle-end

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: enkovich....@gmail.com





Transactional passes do not set cfun->calls_setjmp to true and do not fix CFG

accordingly after adding __builtin__ITM_beginTransaction call having

ECF_RETURNS_TWICE flag set.



It leads to inconsistency which may be revealed with special calls flags

recomputation.



If I add DCE pass after transactional memory then flags are recomputed and CFG

check fails because of call statements in the middle of basic block. Thus DCE

pass after transactional memory causes ~250 new fails in 'make check'.





Tried on 'gcc version 4.9.0 20130422 (experimental) (GCC)'

Reply via email to