On Thu, Dec 15, 2011 at 10:51:39AM -0500, Patrick Marlier wrote:
> Hi Guys!
>
> Transactional Memory will be released in 4.7 so even if it is
> experimental, I hope it will come with only few bugs in it. Users could
> be enthusiastic to test it so it could be great to offer them a great
> experience.
>
> Here a list of known bugs for trans-mem. I have tried to sort it by
> priority (highest first).
>
> * Stack save/restore not working? -> XFAIL testcases
> Related to this:
> ICE: verify_gimple failed: invalid rhs for gimple memory store with
> -fgnu-tm --param tm-max-aggregate-size=32
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51472
> [trans-mem] save/restore of thread-local data in nested txns is missing
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49581
>
> * Caller-save happens on _ITM_beginTransaction
> ([trans-mem] Segfault in libitm when compiling with -O2)
> -> Fix proposed but probably not optimal.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48625
>
> * [trans-mem] problem with TM clone aliases
> Leads to add _ITM_getTMCloneOrIrrevocable in a __transaction_atomic.
> -> Fix proposed.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51516
>
> * ICE: in function_and_variable_visibility,@ipa.c:835 with -O -fgnu-tm
> and overriding virtual transaction_safe function
> -> Fix proposed.
> http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01182.html
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51411
>
> * ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge
> with -fgnu-tm -fnon-call-exceptions and transaction_callable
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51212
>
> * ICE when lto1 does not have -fgnu-tm and object file uses TM
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51280
>
> * AIX unexpected error_mark node in new TM tests
> -> Probably already fixed?
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51174
>
> Probably should be closed:
> * libitm failures
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51124
>
Patrick,
We are still seeing...
=== libitm tests ===
Schedule of variations:
unix/-m32
unix/-m64
Running target unix/-m32
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/libitm.c/c.exp
...
FAIL: libitm.c/clone-1.c execution test
FAIL: libitm.c/memcpy-1.c execution test
FAIL: libitm.c/memset-1.c execution test
Running
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/libitm.c++/c++.exp
...
FAIL: libitm.c++/eh-1.C execution test
WARNING: libitm.c++/static_ctor.C compilation failed to produce executable
=== libitm Summary for unix/-m32 ===
# of expected passes 19
# of unexpected failures 4
# of expected failures 5
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/libitm.c/c.exp
...
FAIL: libitm.c/clone-1.c execution test
Running
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111215/libitm/testsuite/libitm.c++/c++.exp
...
FAIL: libitm.c++/eh-1.C execution test
WARNING: libitm.c++/static_ctor.C compilation failed to produce executable
=== libitm Summary for unix/-m64 ===
# of expected passes 21
# of unexpected failures 2
# of expected failures 5
=== libitm Summary ===
# of expected passes 40
# of unexpected failures 6
# of expected failures 10
on x86_64-apple-darwin11. While Linux/ia32 and Linux/x86-64 don't seem to be
exhibiting those
failures any more, I don't see any analysis of the cause of the previous
failures or fixes
proposed to address these. Did the problem just go latent on those targets
perhaps?
Jack
> * infinite loop when compiling
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48075
>
> Fixed but still open:
> * ICE: vector VEC(inline_summary_t,base) index domain error, in
> [email protected]:193 with -O -fgnu-tm, transaction_safe and
> overloaded contructor
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51273
>
> * ICE: SIGSEGV in ix86_init_builtins (i386.c:27691) with -fgnu-tm and
> any fortran code
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51291
>
> I hope this message could help. Do not hesitate to complete the list (I
> can try to have a look@it) or close bugs (I cannot do it).
> I take the opportunity of this message to thank Richard, Aldy and
> Torvald for the work done on trans-mem.
>
> Patrick Marlier.