llvm-project/llvm/lib
Kai Nacke d897a14c2e [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
2022-06-08 14:52:13 -04:00
..
Analysis [DA] Handle mismatching loop levels by considering them non-linear 2022-06-08 11:15:37 -04:00
AsmParser attributes: introduce allockind attr for describing allocator fn behavior 2022-05-31 10:01:17 -04:00
BinaryFormat [Binary] Promote OffloadBinary to inherit from Binary 2022-06-01 18:40:57 -04:00
Bitcode [NFC] Clang-format parts of D126929 and D126100 2022-06-07 14:08:43 -07:00
Bitstream
CodeGen [SystemZ] Fix check for zero size when lowering memcmp. 2022-06-08 14:52:13 -04:00
DWARFLinker [MC] De-capitalize MCStreamer functions 2022-06-07 00:31:02 -07:00
DWP
DebugInfo [CodeView] Fix incorrect CodeView encoding of signed integer constants 2022-06-08 13:25:36 -04:00
Debuginfod Fix buildbot failures from 7917b3c6. 2022-03-21 17:58:22 +00:00
Demangle Revert "[demangler] Simplify OutputBuffer initialization" 2022-04-26 20:24:06 +00:00
ExecutionEngine [JITLink][ELF][AArch64] Implement ADR_GOT_PAGE, LD64_GOT_LO12_NC. 2022-06-07 18:20:37 -07:00
Extensions
FileCheck [FileCheck] Catch missspelled directives. 2022-05-26 11:37:19 +01:00
Frontend [OMPIRBuilder] Add the support for compare capture 2022-06-01 19:53:43 -04:00
FuzzMutate Reland "[FuzzMutate] Split out FuzzerCLI library that doesn't depend on IR." 2022-05-07 13:49:54 +02:00
Fuzzer
IR Revert "[Metadata] Add a resize capability to MDNodes and add a push_back interface to MDNodes" 2022-06-07 15:48:31 -07:00
IRReader
InterfaceStub [ifs] Add --strip-size flag 2022-05-14 18:50:20 +00:00
LTO [config] Remove vestigial LLVM_VERSION_INFO 2022-06-07 11:36:26 -07:00
LineEditor [llvm][lldb] use FindLibEdit.cmake everywhere 2022-05-12 15:59:41 -07:00
Linker Support the min of module flags when linking, use for AArch64 BTI/PAC-RET 2022-04-13 09:31:51 +02:00
MC [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree. 2022-06-08 10:54:40 -07:00
MCA
ObjCopy [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC] 2022-06-07 12:05:23 -07:00
Object [Binary] Make the OffloadingImage type own the memory 2022-06-07 15:56:09 -04:00
ObjectYAML [DX][ObjYAML] Zero out unused fields that get written to the output file 2022-06-07 16:29:28 +02:00
Option [Driver] Simplify hasFlag pattern with addOptInFlag/addOptOutFlag helpers 2022-04-11 12:29:25 -07:00
Passes Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
ProfileData Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-04 00:10:42 -07:00
Remarks
Support Add an error message to the default SIGPIPE handler 2022-06-08 16:34:12 +01:00
TableGen [llvm] Convert for_each to range-based for loops (NFC) 2022-06-05 12:07:14 -07:00
Target [WebAssembly] Implement remaining relaxed SIMD instructions 2022-06-08 10:32:10 -07:00
Testing
TextAPI
ToolDrivers [llvm-lib] Ignore /LTCG option 2022-05-27 11:38:42 -07:00
Transforms Recommit "[VPlan] Remove uneeded needsVectorIV check." 2022-06-08 14:06:45 +01:00
WindowsDriver
WindowsManifest [llvm] Fix typo for libxml2 detection 2022-05-17 08:45:31 +00:00
XRay
CMakeLists.txt