[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