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]
Other format: [Raw text]

Deletion of trivial insn during IRA


Hi, 

I am trying to find where IRA, is deleting trivial insn like:
(set r1 r1)

The problem I am facing is that I have managed to convince GCC to handle
moves that clobber RCC like:
(parallel [(set reg1 reg2) (clobber rcc)])

However, I am getting loads of insn like:
(parallel [(set r1 r2) (clobber rcc)])

in the insn stream after IRA. This is also blocking some later
optimisations.

I am trying to find where GCC actually removes insns where source and
dest are the same. I understand that if there's a general clobber then
the insn shouldn't be removed, however if the clobber is on the flags
register then it should go ahead and remove it anyway.

Can someone guide me to the right place where this is happening?

Cheers,

-- 
PMatos


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