[LLVMdev] some llvm/clang missed optimizations

Eli Friedman eli.friedman at gmail.com
Tue Jan 26 19:05:05 PST 2010


On Tue, Jan 26, 2010 at 5:55 PM, John Regehr <regehr at cs.utah.edu> wrote:
>>> Repetitive code with lots of bitwise operations is compiled by LLVM into
>>> much larger code than the other compilers:
>>>
>>>
>>> http://embed.cs.utah.edu/embarrassing/jan_10/harvest/source/ED/ED37DAF5.shtml
>>>
>>> http://embed.cs.utah.edu/embarrassing/jan_10/harvest/source/1F/1F4003C7.shtml
>>>
>>> Note that this is straight-line code, so LLVM's output will run 4-5
>>> times longer than everyone else's.
>>>
>>> I'll be interested to learn the source of this one.
>>
>> This looks like a one-off case; instcombine destroys the symmetry of
>> the code that the test harness duplicated by reducing the masking
>> constants.  Probably too complicated for too little gain to be worth
>> pursuing.
>
> There are a bunch of these actually, I can try to make a list...

Umm, can you find one that isn't a popcount implementation?

-Eli




More information about the llvm-dev mailing list