[LLVMdev] RFC: Constant Hoisting
Mehdi Amini
mehdi.amini at apple.com
Tue Feb 3 10:25:39 PST 2015
> On Feb 3, 2015, at 10:20 AM, Chris Sears <chris.sears at gmail.com> wrote:
>
> I was using this GCC compiler comparison site. It's well done but unfortunately it's not up to date. The author Matt Godbolt said he was updating it:
>
> http://gcc.godbolt.org/# <http://gcc.godbolt.org/#>
>
> No, I do not have 3.4.1 but 3.5 is the current XCode release. It's pretty much already narrowed.
>
> 3.4.1 generates correct assembly (except bug #2 is here as well, see below)
> 3.5 (XCode) generates correct IR and bad assembly
>
> So the problem seems to show up with 3.5. The attached IR is from 3.5 XCode clang -S -O3 -emit-llvm newtst.c.
>
> There are TWO bugs here. There's the Constant Hoisting bug (#1) and the failure to match a AND/CMP (#2). My current theory for #1 is that Constant Hoisting for the X86 is relatively recent or that Costing changed and that what we're seeing is that it worked correctly before. I think my proposed patch is correct and I'd recommend the ARM folks look at it.
I may have missed on email, did you send a patch?
Thanks,
Mehdi
>
> I have no theory for bug #2 and I've already spent a day on it.
> <newtst.ll>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150203/82c935a5/attachment.html>
More information about the llvm-dev
mailing list