[PATCH] D54137: AArch64: Fix invalid CCMP emission

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 5 19:22:20 PST 2018


MatzeB created this revision.
MatzeB added reviewers: mstorsjo, ab.
Herald added subscribers: kristof.beyls, javed.absar, mcrosier.

The code emitting AND-subtrees used to check whether any of the operands
was an OR in order to figure out if the result needs to be negated.
However the OR could be hidden in further subtrees and not immediately
visible.

Change the code so that `canEmitConjunction()` determines whether the
result of the generated subtree needs to be negated. Cleanup emission
logic to use this. I also changed the code a bit to make all negation
decisions early before we actually emit the subtrees.

This fixes http://llvm.org/PR39550


Repository:
  rL LLVM

https://reviews.llvm.org/D54137

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54137.172705.patch
Type: text/x-patch
Size: 7297 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181106/bb206ad9/attachment.bin>


More information about the llvm-commits mailing list