This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/57055] New: Incorrect CFG after transactional memory passes


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: unassigned@gcc.gnu.org
        ReportedBy: enkovich.gnu@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)'


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]