[llvm-dev] rL296252 Made large integer operation codegen significantly worse.

Nirav Davé via llvm-dev llvm-dev at lists.llvm.org
Sat Feb 25 12:06:46 PST 2017

rL296252's  main change was to turn on anti-aliasing in the DAGCombiner.
This should generally be a mild improvement to code due to the relaxed
memory constraints, modulo any patterns downstream that are no longer
general enough. This looks to be the case here.

I'm going to leave this for a little while longer to get a check that all
the buildbots pass, but I'll revert this and make sure this test case looks
more reasonable.


On Sat, Feb 25, 2017 at 12:51 PM, Amaury SECHET <deadalnix at gmail.com> wrote:

> Hi,
> I'm working with workload where the bottleneck is cryptographic signature
> checks. Or, in compiler terms, most large integer operations.
> Looking at rL296252 , the state of affair in that area degraded quite
> significantly, see test/CodeGen/X86/i256-add.ll for instance.
> Is there some kind of work in progress here and it is expected to get
> better ? Because if not, that's a big problem. It looks like the problem is
> that the compiler now choose to use pushfq/popfq in some cases rather than
> chaining adc to propagate the carry in additions.
> I hope this can get sorted out quickly. I'm happy to help if that is
> necessary.
> Thanks,
> Amaury SECHET
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170225/71253e23/attachment.html>

More information about the llvm-dev mailing list