This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
An FYI folks -- I've got a handle on our mis-compilation of the linux networking code by the mainline sources. In a nutshell we have something like a->b = 0; [ ... ] hairy volatile asm using "a" as an input which happens to look at a->b [ ... ] a->b = something_else; The dead code elimination support did not wipe the list of recent stores when it passed the asm in the backwards walk of the insn chain. As a result, flow incorrectly decided that a->b = 0; was a dead assignment. This is easy 'nuff to fix. However, what I do not see in mark_used_regs and mark_set_regs is any code to handle ASMs at all! (see mark_set_regs, mark_used_regs). Presumably I'm just hallucinating due to a lack of sleep. I'll look at this more tomorrow, err, later today. jeff