[llvm-dev] About CodeGen quality
陳韋任 via llvm-dev
llvm-dev at lists.llvm.org
Fri Jun 16 11:44:32 PDT 2017
I guess it tends not to block cross block optimization opportunity, or it
https://reviews.llvm.org/D30416 is one?
2017-06-17 1:49 GMT+08:00 Friedman, Eli via llvm-dev <
llvm-dev at lists.llvm.org>:
> 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.
> Employee of Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
Wei-Ren Chen (陳韋任)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev