[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