This is one of the blockers for the release. Testcase will follow. I'm running 'check-llvm' now.
Thanks for fixing this.
To give a bit of context here for other reviewers, the bug is that TLSADDR are lowered into calls in MC. As a result, we need to put the “call markers” around those instructions, otherwise shrink-wrapping may push the prologue and epilogue pass them.
This mostly looks good to me see my inline comment. It misses a test case of course, but I know you’re working on it.
Add a comment saying that we want to replace TLSADDR into
"after the instruction", instead of “at the end of the basic block”.
LGTM with a few nitpicks on the test case.
Thanks for fixing it!
two spaces after CALLSEQ_END.
Add a comment on what this is testing.
Please use opt -instnamer on the test case to have temporary variable names (easier to update than %[0-9]+).
Please get rid of the metadata (!…) unless they are required to reproduce the problem.
You should be able to remove all the !… stuff after removing the !… from the function.