This change allows a re-order of two intructions if their uses
are overlapped.
Details
Diff Detail
Event Timeline
This change has been done on top of https://reviews.llvm.org/D29119 in my workspace, so in diff you can see code from that change. While the changes are not overlapped sorry for inconvinience.
Hi Serguei,
The code itself LGTM.
However:
Can you please try to write MIR test cases for this? That's typically
a more straightforward way to unit test codegen passes.
implicit-null-check.ll was added before the MIR infrastructure was
added to LLVM. You can get started with MIR at
http://llvm.org/docs/MIRLangRef.html, and may use
https://reviews.llvm.org/rL293126 as a template to write your own
test.
Secondly, phabricator tells me that you've changed the permissions on
the .ll files; please make sure you've fixed them before checkin.
lgtm, but I believe you'll also have to edit the test case I checked in in https://reviews.llvm.org/rL293126
Let me know if you want me to check this in for you. Alternatively, you can ask someone from our Saint Petersburg office.
One more place should be fixed I guess.
lib/CodeGen/ImplicitNullChecks.cpp | ||
---|---|---|
350–351 | I think this should be fixed as well as check only for defs. Will try to write a test today. |
Asssert fixed. Also one test is added. The test passes with assert fix and fails witout it.
I think this should be fixed as well as check only for defs. Will try to write a test today.