[llvm-dev] About CodeGen quality

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 16 10:49:26 PDT 2017


On 6/15/2017 11:13 PM, Ehsan Amiri wrote:
>
> Forgot to reply to all
>
>     Hi Eli
>
>>         We want to read S->b for example. The size of struct S is 64
>>         bits, and seems LLVM treats it as i64.
>>         Below is the IR corresponding to S->b, IIRC.
>>
>>           %0 = load i64, *i64 ptr, align 4;
>>           %1 = %0 lshr 8;
>>           %2 = %1 and 255;
>
>         This looks fine.
>
>
>     Why can't we expect InstCombine to simplify this to an 8 bit load,
>     assuming each of %0 and %1 has only one use ?
>
>
We don't aggressively narrow loads and stores in IR because it tends to 
block other optimizations.  See https://reviews.llvm.org/D30416.

-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/da39f767/attachment.html>


More information about the llvm-dev mailing list