--- Comment #32 from jakub at gcc dot gnu dot org 2007-11-22 15:52 ---
Or alternatively make sure to gimplify all inputs which allow reg or mem
first, then gimplify those that don't allow either, which for -O0 should
hopefully mean all such expressions stay in the same basic block as
--- Comment #31 from jakub at gcc dot gnu dot org 2007-11-22 15:41 ---
Could we perhaps for !optimize allow in ASM input operands arbitrary
tree expressions if TREE_CONSTANT for operands which !allows_mem
!allows_reg?
Then we'd just need to make sure the few -O0 passes are able to cope
--- Comment #33 from stsp at users dot sourceforge dot net 2007-11-22
17:27 ---
For -O0 expecting
int i = 1;
asm ( :: i (i));
to work is certainly bad assumption
Btw, even the
static const int i = 1;
asm ( :: i (i));
doesn't work with both -O0 and -O1. :(
--
--- Comment #30 from amacleod at redhat dot com 2007-03-12 13:11 ---
Err, yeah. thats right. TER doesn't run without optimization, and I forgot this
was more than just an optimization issue. Where is that work to do basic SSA
optimizations at -O0 when you need it?? :-)
--
--- Comment #29 from pinskia at gcc dot gnu dot org 2007-03-10 01:41
---
(In reply to comment #27)
Andrew indicates that this is fixed in 4.3 in this message:
Actually it was only fixed with optimization turned on. It still fails at -O0.
--
pinskia at gcc dot gnu dot org changed:
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.1.2 |4.1.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200
--- Comment #26 from amacleod at redhat dot com 2006-12-08 14:32 ---
The new version of TER was just checked into mainline. This should resolve this
bug.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200