[PATCH] D15957: [SelectionDAG] CSE nodes with differing SDNodeFlags

Dan Gohman via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 7 10:16:39 PST 2016


sunfish created this revision.
sunfish added subscribers: llvm-commits, jmolloy, hfinkel, sanjoy.
sunfish set the repository for this revision to rL LLVM.

In the optimizer (GVN etc.) when eliminating redundant nodes with different flags, the flags are ignored for the purposes of testing for congruence, and then intersected for the purposes of producing a result that supports the union of all the uses. Attached is a rough patch which implements the same policy for SelectionDAG's CSE, which fixed the testcases in PR26063 and which I'm posting now to get feedback on the approach.


Repository:
  rL LLVM

http://reviews.llvm.org/D15957

Files:
  include/llvm/CodeGen/SelectionDAGNodes.h
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  test/CodeGen/ARM/cse-flags.ll
  test/CodeGen/X86/2014-05-30-CombineAddNSW.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15957.44227.patch
Type: text/x-patch
Size: 8581 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160107/4a894b2c/attachment.bin>


More information about the llvm-commits mailing list