[PATCH] Select Elimination in InstCombine

Gerolf Hoflehner ghoflehner at apple.com
Wed Sep 10 17:00:54 PDT 2014


Perhaps I should phrase it differently. DT is an analysis required by other passes like LICM which runs after the combiner.  The combiner does not destroy the Dominator Tree. So what is the root of your concern?

-Gerolf

On Sep 9, 2014, at 7:43 PM, Gerolf Hoflehner <ghoflehner at apple.com> wrote:

> So you agree with making DT required (what Juergen was driving at) but that should be a follow up commit to the select optimization?!
> 
> But DT should be about as cheap as it can get for an analysis pass (unless the implementation is screwed up - which is unlikely - or the analysis space is huge at which point there are usually much bigger problems to deal with first). Why not commit DT required right away and jump only when the build bots catch anything? Was there a bad experience with DT in the past? I’m wondering.
> 
> On a slightly different note my concerns about MCJIT are mute. I double checked the code with Juergen, and it turned out that the DT pass dependency wasn’t initialized.
> 
> -Gerolf
> 
>  
> On Sep 9, 2014, at 3:43 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
> 
>> 
>> On Tue, Sep 9, 2014 at 3:01 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> > The problem with making DT optional is that you might never get it.
>> > If any pass that runs before InstCombine invalidates DT, it won’t be
>> > available to any following pass until there is a pass that
>> > explicitly requires it.
>> 
>> That's true. There have been objections in the past to making it required, and I don't recall by whom or why exactly. In the current standard pass manager configuration, it does happen at least once.
>> 
>> Just to reiterate what I said in the code review, I actually agree with Juergen, but I think it would be fine to make it required. I just want to get the business logic into instcombine right away, and then double check that the compile time is OK when we make DT required.
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140910/1d6d2bfd/attachment.html>


More information about the llvm-commits mailing list