This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/57055] New: Incorrect CFG after transactional memory passes
- From: "enkovich.gnu at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 24 Apr 2013 12:22:45 +0000
- Subject: [Bug middle-end/57055] New: Incorrect CFG after transactional memory passes
- Auto-submitted: auto-generated
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)'