diff options
| author | Kai Nacke <kai.nacke@de.ibm.com> | 2022-06-02 13:42:49 -0400 |
|---|---|---|
| committer | Kai Nacke <kai.nacke@de.ibm.com> | 2022-06-08 14:52:13 -0400 |
| commit | d897a14c2ef756d99344f4fae8864108e0131007 (patch) | |
| tree | 4b20c339a194478df599bd7e7b234f99db952884 /llvm/tools/llvm-cov/CodeCoverage.cpp | |
| parent | 4636b93044faf1fbf54139e872af4856adafe435 (diff) | |
| download | llvm-d897a14c2ef756d99344f4fae8864108e0131007.zip llvm-d897a14c2ef756d99344f4fae8864108e0131007.tar.gz llvm-d897a14c2ef756d99344f4fae8864108e0131007.tar.bz2 | |
[SystemZ] Fix check for zero size when lowering memcmp.
During lowering of memcmp/bcmp, the check for a size of 0 is done
in 2 different ways. In rare cases this can lead to a crash in
SystemZSelectionDAGInfo::EmitTargetCodeForMemcmp(). The root cause
is that SelectionDAGBuilder::visitMemCmpBCmpCall() checks for a
constant int value which is not yet evaluated. When the value is
turned into a SDValue, then the evaluation is done and results in
a ConstantSDNode. But EmitTargetCodeForMemcmp() expects the special
case of 0 length to be handled, which results in an assertion.
The fix is to turn the value into a SDValue, so that both functions
use the same check.
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D126900
Diffstat (limited to 'llvm/tools/llvm-cov/CodeCoverage.cpp')
0 files changed, 0 insertions, 0 deletions
