This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: slot combination and alias analysis


    You have two function bodies.  In one, it does { float f; ... }, in
    the other, it does { double d; ... }, they reference at least one byte
    in common through the magic of inlining.  The optimizer knows that
    they don't conflict, but the stack frame code just allocates a block
    (unknown), and then uses it.  Unfortunately, one of the uses can be
    known, say the first float.  In the second, instead of being just an
    unknown block, the memory is used as a known double.  Since a known
    float and a known double can never conflict, we know we can reorder
    the memory references.  But, we see that this would be wrong.  

Yes, but I don't see how it can happen.  The allocation of the two blocks
for the frames of the inlined functions cannot overlap, or at least I
don't think so.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]