diff options
author | David Spickett <david.spickett@linaro.org> | 2022-07-20 15:55:36 +0000 |
---|---|---|
committer | David Spickett <david.spickett@linaro.org> | 2022-08-05 09:36:43 +0000 |
commit | c401dbde71fdfdbdb0e77df54429408bab903991 (patch) | |
tree | 9e134bbbec12a826a60128bba439c2c0d2f9e965 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 2312b747b87300d94e834f257835ce93d36037cf (diff) | |
download | llvm-c401dbde71fdfdbdb0e77df54429408bab903991.zip llvm-c401dbde71fdfdbdb0e77df54429408bab903991.tar.gz llvm-c401dbde71fdfdbdb0e77df54429408bab903991.tar.bz2 |
[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
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions