- User Since
- Oct 3 2021, 6:09 PM (39 w, 1 d)
Mon, Jun 20
May 21 2022
May 7 2022
Rebase, update a few comments.
May 6 2022
Rebase and add assertions for other operands that shouldn't exist at this point.
May 5 2022
Comment clarification and typo fix.
Apr 30 2022
Apr 29 2022
Okay, taking this off the review queue until I take a look at the other bug incidentally exposed by fixing this one; the MachineOutliner doesn't properly adjust attributes of new outlined functions with XRay instrumentation opcodes. (should it even run on those at all?)
As such, what happens is that this check doesn't pass, meaning CurrentFnBegin isn't set, meaning that an assertion failure is thrown when the code generator tries to use it as a symbol when emitting the XRay instrumentation table.
The reason this testcase didn't fail before is because AArch64InstrInfo::getOutliningCandidateInfo uses the sizes of instructions as part of the outlining heuristic. When the pseudo-opcode sizes were fixed, the heuristic decided it was profitable to outline an XRay pseudo-instruction, triggering the bug.
Add newline to end of test case
Oct 14 2021
Note: abandoning this due to concerns mentioned above. Will run some more testing with this entire block removed.
Oct 13 2021
Make clang-format happy.
Fix faulty assertion.
Change from if statement to assert.
Make sure replaceAllUsesWith is also removed.
Make sure not to diff off of a local branch instead of main.
Visit with SCCPSolver after replacing users.
Oct 12 2021
Oct 5 2021
Add some comments.