This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/18841] New: setjmp and eh receivers can mis-schedule
- From: "rth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Dec 2004 03:22:56 -0000
- Subject: [Bug target/18841] New: setjmp and eh receivers can mis-schedule
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The problem can be seen in the ev67 failure of 23_containers/vector/cons/4.cc,
ldah $29,0($26) !gpdisp!18
ldq $3,_ZN10__gnu_test10destructor8_M_countE($29) !literal
ldq $2,16($9)
mov $16,$10
lda $29,0($29) !gpdisp!18
Note the second instruction uses $29 before it is completely initialized in
the last instruction.
The problem is due to exposing the EH receiver gp load before sched1, but not
exposing the symbol gp use until after reload. By inspection, the same problem
exists for the builtin_setjmp_receiver patterns, though there is no known test
case. Presumably it wouldn't be impossible to write one.
By inspection, this problem should exist at least back through 3.3 branch. I
havn't tried to create a simplified test case with which to show the problem
on that branch.
--
Summary: setjmp and eh receivers can mis-schedule
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: rth at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: alpha
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18841