[PATCH] [mips] Teach the delay slot filler to remove needless KILL instructions.

hfinkel at anl.gov hfinkel at anl.gov
Thu Feb 19 15:19:39 PST 2015


In http://reviews.llvm.org/D7724#125702, @vkalintiris wrote:

> Hi Hal,
>
> In http://reviews.llvm.org/D7724#125595, @hfinkel wrote:
>
> > Why are you removing them instead of just ignoring them?
>
>
> Can we simply ignore them and under what conditions?
>  I sent an email to the llvm-dev list the other day but it didn't receive much attention:


I apologize for the delay in responding.

> 

> 

>   http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-February/081716.html

>    

> 

> > Are they really useless, or are they marking subregister/superregister points of definition?

> 

> 

> I'm not very sure what you are asking me here. AFAIK, the Mips target

>  doesn't use KILL instructions for anything special. The question is

>  whether they are used for anything else outside the Mips target.


I re-read the llvmdev thread, and I think the conclusion there is correct: Given that you're calling TRI.invalidateLiveness(), removing the KILL instructions makes sense. They're used by the RA, copy propagation, post-RA-scheduler's anti-dependency breakers, etc., but otherwise, they likely don't really matter. So, as Quentin said, removing them is fine.


http://reviews.llvm.org/D7724

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list