@jmorse Thanks for your help!
Apr 27 2021
Apr 19 2021
update comment format and remove function attribute #0 in the test case
Thanks for the suggestion from @djtodoro, updated the diff
Apr 16 2021
Updated the test case to include both the preserving case and the merge case.
Apr 15 2021
Can you help me to commit the changes as well. I don't have commit access. Thanks, @jmorse
Thank @jmorse for the suggestions, I have updated the diff to address them.
Apr 14 2021
Thanks for the feedback @jmorse, here I have the updated test.
Yes, @djtodoro, it is in the starting phase, and we plan to improve it and make it an open-source project.
Apr 13 2021
Thanks for the suggestion, @Orlando.
Updated with the simplified test case suggested by @Orlando.
@Orlando, thanks for pointing out the debugify usage for me. I indeed use debugify to generate the test cases. I will update test case soon.
Apr 12 2021
I thought the previous CHECK will discard store instructions with debug location. Thanks for pointing it out @aprantl, I have added the comment and changed the CHECK. I have tested that the test case can now distinguish the versions before and after the proposed patch.
Thanks for pointing it out, I have made it to one line.
Thanks for the suggestions from @djtodoro! Format revised and changed to SmallVector.
Apr 11 2021
Sorry for failing the tests, will check the problem and revise to pass the unit tests, it is not happening in my local machine.
Apr 9 2021
First updated to the version which simply drops the debug location, we may wait for other people's ideas.
Thanks for your feedback @Orlando! I checked the code again, and I agree with your opinion, it seems that removing the if guard will be a conservative solution for this case.
updated with git-clang-format
Apr 8 2021
Sorry, the original format was OK, I just copy-paste and didn't check the final format. I have just fixed the format.
add the test case requested.
Mar 29 2021
Thanks a lot for the feedback!
Mar 22 2021
Do you think this example above can serve as a test case? If so, I can post the complete example here.
Mar 18 2021
As @jmorse pointed out, OptimizeLoopTermCond might move the newly created instruction around. I was working on an example to trigger an instruction move and the replacement of the conditional. Here I have an example, I show part of the code here: