[llvm][IROutliner] Account for return void in sort comparator
This fixes 69 llvm tests that failed when EXPENSIVE_CHECKS was enabled. llvm/test/Transforms/IROutliner/outlining-commutative-operands-opposite-order.ll is one example. When we have EXPENSIVE_CHECKS, _GLIBCXX_DEBUG is defined. This means that libstdc++ will call the compare function to check if it is implemented correctly (that !(a < a) is true). This happens even if there is only one item and here, we expect to see one return void or multiple return constant integer. Don't sort if we have 1 item, but do assert that it is the 1 ret void we expect. In the comparator, assert that neither Value is a nullptr in case one ended up in a the list somehow. Reviewed By: AndrewLitteken Differential Revision: https://reviews.llvm.org/D130230
Loading
Please sign in to comment