Skip to content

Commit f7fef74

Browse files
committed
Merge branch 'main' into jroelofs/lower-matrix-fabs
2 parents 9a7d824 + e723e15 commit f7fef74

File tree

407 files changed

+13292
-5698
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

407 files changed

+13292
-5698
lines changed

.ci/monolithic-linux.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function at-exit {
4747
python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_buildkite.py ":linux: Linux x64 Test Results" \
4848
"linux-x64-test-results" $retcode "${BUILD_DIR}"/test-results.*.xml
4949
else
50-
python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py ":linux: Linux x64 Test Results" \
50+
python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py ":penguin: Linux x64 Test Results" \
5151
$retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY
5252
fi
5353
}

.ci/monolithic-windows.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ function at-exit {
4242
python "${MONOREPO_ROOT}"/.ci/generate_test_report_buildkite.py ":windows: Windows x64 Test Results" \
4343
"windows-x64-test-results" $retcode "${BUILD_DIR}"/test-results.*.xml
4444
else
45-
python "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py ":windows: Windows x64 Test Results" \
45+
python "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py ":window: Windows x64 Test Results" \
4646
$retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY
4747
fi
4848
}

bolt/test/link_fdata.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
# <is symbol?> <closest elf symbol or DSO name> <relative FROM address>
3434
# <is symbol?> <closest elf symbol or DSO name> <relative TO address>
3535
# <number of mispredictions> <number of branches>
36-
fdata_pat = re.compile(r"([01].*) (?P<exec>\d+) (?P<mispred>\d+)")
36+
fdata_pat = re.compile(r"([01].*) (?P<mispred>\d+) (?P<exec>\d+)")
3737

3838
# Pre-aggregated profile:
3939
# {T|B|F|f} [<start_id>:]<start_offset> [<end_id>:]<end_offset> [<ft_end>]
@@ -61,15 +61,15 @@
6161
preagg_match = preagg_pat.match(profile_line)
6262
nolbr_match = nolbr_pat.match(profile_line)
6363
if fdata_match:
64-
src_dst, execnt, mispred = fdata_match.groups()
64+
src_dst, mispred, execnt = fdata_match.groups()
6565
# Split by whitespaces not preceded by a backslash (negative lookbehind)
6666
chunks = re.split(r"(?<!\\) +", src_dst)
6767
# Check if the number of records separated by non-escaped whitespace
6868
# exactly matches the format.
6969
assert (
7070
len(chunks) == 6
7171
), f"ERROR: wrong format/whitespaces must be escaped:\n{line}"
72-
exprs.append(("FDATA", (*chunks, execnt, mispred)))
72+
exprs.append(("FDATA", (*chunks, mispred, execnt)))
7373
elif nolbr_match:
7474
loc, count = nolbr_match.groups()
7575
# Split by whitespaces not preceded by a backslash (negative lookbehind)

clang/bindings/python/tests/cindex/test_cdb.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,16 @@ def test_create_fail(self):
2121

2222
# clang_CompilationDatabase_fromDirectory calls fprintf(stderr, ...)
2323
# Suppress its output.
24-
stderr = os.dup(2)
25-
with open(os.devnull, "wb") as null:
26-
os.dup2(null.fileno(), 2)
27-
with self.assertRaises(CompilationDatabaseError) as cm:
28-
CompilationDatabase.fromDirectory(path)
29-
os.dup2(stderr, 2)
30-
os.close(stderr)
24+
try:
25+
stderr = os.dup(2)
26+
with open(os.devnull, "wb") as null:
27+
os.dup2(null.fileno(), 2)
28+
with self.assertRaises(CompilationDatabaseError) as cm:
29+
CompilationDatabase.fromDirectory(path)
30+
# Ensures that stderr is reset even if the above code crashes
31+
finally:
32+
os.dup2(stderr, 2)
33+
os.close(stderr)
3134

3235
e = cm.exception
3336
self.assertEqual(e.cdb_error, CompilationDatabaseError.ERROR_CANNOTLOADDATABASE)

clang/docs/ReleaseNotes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,10 @@ Improvements to Clang's diagnostics
601601
trigger a ``'Blue' is deprecated`` warning, which can be turned off with
602602
``-Wno-deprecated-declarations-switch-case``.
603603

604+
- Split diagnosis of implicit integer comparison on negation to a new
605+
diagnostic group ``-Wimplicit-int-comparison-on-negation``, grouped under
606+
``-Wimplicit-int-conversion``, so user can turn it off independently.
607+
604608
Improvements to Clang's time-trace
605609
----------------------------------
606610

clang/include/clang/Basic/AArch64ACLETypes.def

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@
66
//
77
//===----------------------------------------------------------------------===//
88
//
9-
// This file defines various SVE builtin types. The macros are:
9+
// This file defines various Neon and SVE builtin types. The macros are:
10+
//
11+
// NEON_VECTOR_TYPE:
12+
// - (Name, BaseType, ElBits, NumEls, VectorKind)
13+
// Unlike the SVE types, the Neon vector types are not builtin types and
14+
// mapped to the equivalent __attribute__(neon_vector_type(...)) vector type.
15+
// They are not builtin types.
1016
//
1117
// SVE_TYPE:
1218
// - (Name, MangledName, Id, SingletonId)
@@ -57,6 +63,10 @@
5763
// - IsBF true for vector of brain float elements.
5864
//===----------------------------------------------------------------------===//
5965

66+
#ifndef NEON_VECTOR_TYPE
67+
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind)
68+
#endif
69+
6070
#ifndef SVE_TYPE
6171
#define SVE_TYPE(Name, Id, SingletonId)
6272
#endif
@@ -111,7 +121,38 @@
111121
SVE_TYPE(Name, Id, SingletonId)
112122
#endif
113123

114-
//===- Vector point types -----------------------------------------------===//
124+
//===- Neon Vector point types --------------------------------------------===//
125+
126+
NEON_VECTOR_TYPE(__Int8x8_t, CharTy, 8, 8, VectorKind::Neon)
127+
NEON_VECTOR_TYPE(__Int16x4_t, ShortTy, 16, 4, VectorKind::Neon)
128+
NEON_VECTOR_TYPE(__Int32x2_t, IntTy, 32, 2, VectorKind::Neon)
129+
NEON_VECTOR_TYPE(__Uint8x8_t, CharTy, 8, 8, VectorKind::Neon)
130+
NEON_VECTOR_TYPE(__Uint16x4_t, UnsignedShortTy, 16, 4, VectorKind::Neon)
131+
NEON_VECTOR_TYPE(__Uint32x2_t, UnsignedIntTy, 32, 2, VectorKind::Neon)
132+
NEON_VECTOR_TYPE(__Float16x4_t, Float16Ty, 16, 4, VectorKind::Neon)
133+
NEON_VECTOR_TYPE(__Float32x2_t, FloatTy, 32, 2, VectorKind::Neon)
134+
NEON_VECTOR_TYPE(__Poly8x8_t, CharTy, 8, 8, VectorKind::NeonPoly)
135+
NEON_VECTOR_TYPE(__Poly16x4_t, UnsignedShortTy, 16, 4, VectorKind::NeonPoly)
136+
NEON_VECTOR_TYPE(__Bfloat16x4_t, BFloat16Ty, 16, 4, VectorKind::Neon)
137+
NEON_VECTOR_TYPE(__Int8x16_t, CharTy, 8, 16, VectorKind::Neon)
138+
NEON_VECTOR_TYPE(__Int16x8_t, ShortTy, 16, 8, VectorKind::Neon)
139+
NEON_VECTOR_TYPE(__Int32x4_t, IntTy, 32, 4, VectorKind::Neon)
140+
NEON_VECTOR_TYPE(__Int64x2_t, LongLongTy, 64, 2, VectorKind::Neon)
141+
NEON_VECTOR_TYPE(__Uint8x16_t, CharTy, 8, 16, VectorKind::Neon)
142+
NEON_VECTOR_TYPE(__Uint16x8_t, UnsignedShortTy, 16, 8, VectorKind::Neon)
143+
NEON_VECTOR_TYPE(__Uint32x4_t, UnsignedIntTy, 32, 4, VectorKind::Neon)
144+
NEON_VECTOR_TYPE(__Uint64x2_t, UnsignedLongLongTy, 64, 2, VectorKind::Neon)
145+
NEON_VECTOR_TYPE(__Float16x8_t, Float16Ty, 16, 8, VectorKind::Neon)
146+
NEON_VECTOR_TYPE(__Float32x4_t, FloatTy, 32, 4, VectorKind::Neon)
147+
NEON_VECTOR_TYPE(__Float64x2_t, DoubleTy, 64, 2, VectorKind::Neon)
148+
NEON_VECTOR_TYPE(__Poly8x16_t, CharTy, 8, 16, VectorKind::NeonPoly)
149+
NEON_VECTOR_TYPE(__Poly16x8_t, UnsignedShortTy, 16, 8, VectorKind::NeonPoly)
150+
NEON_VECTOR_TYPE(__Poly64x2_t, UnsignedLongLongTy, 64, 2, VectorKind::NeonPoly)
151+
NEON_VECTOR_TYPE(__Bfloat16x8_t, BFloat16Ty, 16, 8, VectorKind::Neon)
152+
NEON_VECTOR_TYPE(__Mfloat8x8_t, MFloat8Ty, 8, 8, VectorKind::Neon)
153+
NEON_VECTOR_TYPE(__Mfloat8x16_t, MFloat8Ty, 8, 16, VectorKind::Neon)
154+
155+
//===- SVE Vector point types ---------------------------------------------===//
115156

116157
SVE_VECTOR_TYPE_INT(__SVInt8_t, __SVInt8_t, SveInt8, SveInt8Ty, 16, 8, 1, true)
117158
SVE_VECTOR_TYPE_INT(__SVInt16_t, __SVInt16_t, SveInt16, SveInt16Ty, 8, 16, 1, true)
@@ -205,6 +246,7 @@ SVE_OPAQUE_TYPE(__SVCount_t, __SVCount_t, SveCount, SveCountTy)
205246

206247
SVE_SCALAR_TYPE(__mfp8, __mfp8, MFloat8, MFloat8Ty, 8)
207248

249+
#undef NEON_VECTOR_TYPE
208250
#undef SVE_VECTOR_TYPE
209251
#undef SVE_VECTOR_TYPE_MFLOAT
210252
#undef SVE_VECTOR_TYPE_BFLOAT

clang/include/clang/Basic/DiagnosticGroups.td

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,11 @@ def DeprecatedOFast : DiagGroup<"deprecated-ofast">;
116116
def ObjCSignedCharBoolImplicitIntConversion :
117117
DiagGroup<"objc-signed-char-bool-implicit-int-conversion">;
118118
def Shorten64To32 : DiagGroup<"shorten-64-to-32">;
119+
def ImplicitIntConversionOnNegation : DiagGroup<"implicit-int-conversion-on-negation">;
119120
def ImplicitIntConversion : DiagGroup<"implicit-int-conversion",
120121
[Shorten64To32,
121-
ObjCSignedCharBoolImplicitIntConversion]>;
122+
ObjCSignedCharBoolImplicitIntConversion,
123+
ImplicitIntConversionOnNegation]>;
122124
def ImplicitConstIntFloatConversion : DiagGroup<"implicit-const-int-float-conversion">;
123125
def ImplicitIntFloatConversion : DiagGroup<"implicit-int-float-conversion",
124126
[ImplicitConstIntFloatConversion]>;

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4288,6 +4288,9 @@ def warn_impcast_integer_sign_conditional : Warning<
42884288
def warn_impcast_integer_precision : Warning<
42894289
"implicit conversion loses integer precision: %0 to %1">,
42904290
InGroup<ImplicitIntConversion>, DefaultIgnore;
4291+
def warn_impcast_integer_precision_on_negation : Warning<
4292+
"implicit conversion loses integer precision: %0 to %1 on negation">,
4293+
InGroup<ImplicitIntConversionOnNegation>, DefaultIgnore;
42914294
def warn_impcast_high_order_zero_bits : Warning<
42924295
"higher order bits are zeroes after implicit conversion">,
42934296
InGroup<ImplicitIntConversion>, DefaultIgnore;

clang/include/clang/Basic/TargetInfo.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ class TargetInfo : public TransferrableTargetInfo,
270270
unsigned HasBuiltinMSVaList : 1;
271271

272272
LLVM_PREFERRED_TYPE(bool)
273-
unsigned HasAArch64SVETypes : 1;
273+
unsigned HasAArch64ACLETypes : 1;
274274

275275
LLVM_PREFERRED_TYPE(bool)
276276
unsigned HasRISCVVTypes : 1;
@@ -1055,9 +1055,9 @@ class TargetInfo : public TransferrableTargetInfo,
10551055
/// available on this target.
10561056
bool hasBuiltinMSVaList() const { return HasBuiltinMSVaList; }
10571057

1058-
/// Returns whether or not the AArch64 SVE built-in types are
1058+
/// Returns whether or not the AArch64 ACLE built-in types are
10591059
/// available on this target.
1060-
bool hasAArch64SVETypes() const { return HasAArch64SVETypes; }
1060+
bool hasAArch64ACLETypes() const { return HasAArch64ACLETypes; }
10611061

10621062
/// Returns whether or not the RISC-V V built-in types are
10631063
/// available on this target.

clang/include/clang/Driver/Driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@ llvm::Error expandResponseFiles(SmallVectorImpl<const char *> &Args,
879879
/// See applyOneOverrideOption.
880880
void applyOverrideOptions(SmallVectorImpl<const char *> &Args,
881881
const char *OverrideOpts,
882-
llvm::StringSet<> &SavedStrings,
882+
llvm::StringSet<> &SavedStrings, StringRef EnvVar,
883883
raw_ostream *OS = nullptr);
884884

885885
} // end namespace driver

0 commit comments

Comments
 (0)