This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH] Fix DCE REG_LIBCALL note moving from noop move insns (PR rtl-optimization/33644)


> gcc actually marks them as CONST_OR_PURE_CALL_P (which is a little bit of
> lie, as glibc needs to write some memory as part of resolving __tls_get_addr
> for the first time, but a) nothing actually cares if it is not called at all
> b) nothing cares if it is called just once or several times).

...


> CSE does its job, replaces the pseudo set by second REG_RETVAL insn
> by the pseudo set by first REG_RETVAL, but as dce.c doesn't handle libcalls
> properly, nothing ever purges the dead libcall.

I'm travelling now, so can't easily test this myself, but what happens if
it's NOT a libcall and if there's still two calls, why?


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