[llvm-dev] About CodeGen quality

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 16 12:35:23 PDT 2017


On 6/16/2017 11:44 AM, 陳韋任 wrote:
> I guess it tends not to block cross block optimization opportunity, or 
> it just happen
> https://reviews.llvm.org/D30416 <https://reviews.llvm.org/D30416> is one?
>
> Regards,
> chenwj
>
> 2017-06-17 1:49 GMT+08:00 Friedman, Eli via llvm-dev 
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>:
>
>
>     We don't aggressively narrow loads and stores in IR because it
>     tends to block other optimizations.  See
>     https://reviews.llvm.org/D30416 <https://reviews.llvm.org/D30416>.
>

I guess my previous reply was a bit too terse.

We don't want to narrow loads early in the optimization pipeline because 
it tends to hide relationships between bitfields.  In particular, 
overlapping loads/stores are more difficult to optimize.  We want 
EarlyCSE/GVN/DSE/etc. to see the full-width loads and stores to make 
them more effective.

Currently, we do narrowing in DAGCombine.  D30416 is a proposal to move 
that slightly earlier, to the late stages of the IR optimization 
pipeline, so we can avoid the limitations of SelectionDAG.

If you read the whole discussion on that patch, it goes into more detail 
about this.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170616/b641c598/attachment.html>


More information about the llvm-dev mailing list