This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: support single predicate set instructions in GCC-4.1.1
On Tue, 2007-09-25 at 15:13 +0800, åæ wrote:
> propagate_one_insn), I don't understand why GCC fails the computation
> of liveness if there is no optimization flag :-(.
There is probably something else happening with -O that is recomputing
some liveness or CFG info. For instance, the flow2 pass will call
split_all_insns and cleanup_cfg, but only with -O. You could try
selectively disabling other optimization passes to determine which one
is necessary in order for your code to work. Actually, looking closer,
I see several of them call update_life_info. regrename for instance has
two update_life_info calls.
Another possibility here is to try calling recompute_reg_usage instead
of doing it yourself. Or maybe calling just update_life_info directly,
if you need different flags set.
FYI This stuff is all different on mainline since the dataflow merge.
I'm assuming you are using gcc-4.2.x.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com