[PATCH] D11107: DAGCombiner: Don't search up chain through non-memory dependencies

Matt Arsenault Matthew.Arsenault at amd.com
Fri Jul 10 14:55:14 PDT 2015


arsenm added inline comments.

================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:14022
@@ +14021,3 @@
+          // e.g. we could have a dependency on a CopyFromReg into the pointer
+          // value of a load.
+          Chains.push_back(Chain);
----------------
hfinkel wrote:
> Can you explain exactly what situation your trying to prevent and why it is bad? I don't understand the problem from the referenced mailing-list message because everything there looks legal.
> 
My problem/question is is it allowed for a node using the value out of a CopyFromReg to be on the same chain as the CopyFromReg itself?

I'm not seeing it right now with just the isAlias patch, but it looked something like

PtrVal, Chain0 = CopyFromReg EntryToken ...
LoadVal, Chain1 = load EntryToken, PtrVal

It's possible I had something else broken in my tree that I don't remember. I'll see if I can run into this again with some of the other patches I'm working on.


http://reviews.llvm.org/D11107







More information about the llvm-commits mailing list