Skip to content

Commit 8cd85ca

Browse files
committed
rebase
Created using spr 1.3.4
2 parents cdf7a77 + 58ace30 commit 8cd85ca

File tree

3 files changed

+127
-44
lines changed

3 files changed

+127
-44
lines changed

llvm/include/llvm/IR/ModuleSummaryIndexYAML.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,12 +347,10 @@ template <> struct MappingTraits<ModuleSummaryIndex> {
347347
index.WithGlobalValueDeadStripping);
348348

349349
if (io.outputting()) {
350-
std::vector<StringRef> CfiFunctionDefs(index.CfiFunctionDefs.begin(),
351-
index.CfiFunctionDefs.end());
350+
auto CfiFunctionDefs = index.CfiFunctionDefs.symbols();
352351
llvm::sort(CfiFunctionDefs);
353352
io.mapOptional("CfiFunctionDefs", CfiFunctionDefs);
354-
std::vector<StringRef> CfiFunctionDecls(index.CfiFunctionDecls.begin(),
355-
index.CfiFunctionDecls.end());
353+
auto CfiFunctionDecls(index.CfiFunctionDecls.symbols());
356354
llvm::sort(CfiFunctionDecls);
357355
io.mapOptional("CfiFunctionDecls", CfiFunctionDecls);
358356
} else {

llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3129,6 +3129,9 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
31293129
/// fine).
31303130
///
31313131
/// Caller guarantees that this intrinsic does not access memory.
3132+
///
3133+
/// TODO: "horizontal"/"pairwise" intrinsics are often incorrectly matched by
3134+
/// by this handler.
31323135
[[maybe_unused]] bool
31333136
maybeHandleSimpleNomemIntrinsic(IntrinsicInst &I,
31343137
unsigned int trailingFlags) {
@@ -4871,6 +4874,18 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
48714874
setOrigin(&I, getCleanOrigin());
48724875
break;
48734876

4877+
// TODO: handling max/min similarly to AND/OR may be more precise
4878+
// Floating-Point Maximum/Minimum Pairwise
4879+
case Intrinsic::aarch64_neon_fmaxp:
4880+
case Intrinsic::aarch64_neon_fminp:
4881+
// Floating-Point Maximum/Minimum Number Pairwise
4882+
case Intrinsic::aarch64_neon_fmaxnmp:
4883+
case Intrinsic::aarch64_neon_fminnmp:
4884+
// Signed/Unsigned Maximum/Minimum Pairwise
4885+
case Intrinsic::aarch64_neon_smaxp:
4886+
case Intrinsic::aarch64_neon_sminp:
4887+
case Intrinsic::aarch64_neon_umaxp:
4888+
case Intrinsic::aarch64_neon_uminp:
48744889
// Add Pairwise
48754890
case Intrinsic::aarch64_neon_addp:
48764891
// Floating-point Add Pairwise

0 commit comments

Comments
 (0)