http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52436



--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> 2013-04-02 14:36:59 
UTC ---

(In reply to comment #5)

> No, get_addr_base_and_unit_offset_1 only is supposed to return the

> addressable offset into an object - it doesn't care about access sizes.



It is also allowed to say "bad idea, I will return NULL", but ok.



> But you can't really do what you do there.  You are possibly

> transforming

[...]



Good point, thanks.



> which is not correct, obviously.  "combining" with memory

> accesses isn't trivial, certainly not a task I would consider

> for forwprop.  I can't think of a suitable existing pass

> that would combine this, but value-numbering should eventually

> value-number both cases the same at least.



I guess that leaves the vector lowering pass as the easiest alternative for

PR55266: split all unsupported memory reads into supported reads and a

constructor (and similarly, split writes into bit_field_refs and writes) and

hope that nothing does the reverse transformation.

Reply via email to