Skip to content

Commit 1763907

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:9cd774d1e49f into amd-gfx:557a5107ab62
Local branch amd-gfx 557a510 Merged main:207e485f4b7e into amd-gfx:0bafa7d8639b Remote branch main 9cd774d [X86][NFC] Move "_Int" after "k"/"kz" (llvm#121450)
2 parents 557a510 + 9cd774d commit 1763907

File tree

17 files changed

+523
-491
lines changed

17 files changed

+523
-491
lines changed

clang/lib/AST/ByteCode/InterpBuiltin.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1544,9 +1544,10 @@ static bool interp__builtin_constant_p(InterpState &S, CodePtr OpPC,
15441544
if (Res.isInvalid()) {
15451545
C.cleanup();
15461546
Stk.clear();
1547+
return returnInt(false);
15471548
}
15481549

1549-
if (!Res.isInvalid() && !Res.empty()) {
1550+
if (!Res.empty()) {
15501551
const APValue &LV = Res.toAPValue();
15511552
if (LV.isLValue()) {
15521553
APValue::LValueBase Base = LV.getLValueBase();

clang/test/AST/ByteCode/builtin-constant-p.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,9 @@ static_assert(__builtin_constant_p(I + 10.0), "");
1212
static_assert(__builtin_constant_p(nullptr), "");
1313
static_assert(__builtin_constant_p(&I), ""); // both-error {{failed due to requirement}}
1414
static_assert(__builtin_constant_p((void)I), ""); // both-error {{failed due to requirement}}
15+
16+
extern int z;
17+
constexpr int foo(int &a) {
18+
return __builtin_constant_p(a);
19+
}
20+
static_assert(!foo(z));

lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,11 +1222,9 @@ DWARFASTParserClang::ParseSubroutine(const DWARFDIE &die,
12221222
}
12231223

12241224
if (die.HasChildren()) {
1225-
bool skip_artificial = true;
1226-
ParseChildParameters(containing_decl_ctx, die, skip_artificial, is_static,
1227-
is_variadic, has_template_params,
1228-
function_param_types, function_param_decls,
1229-
type_quals);
1225+
ParseChildParameters(containing_decl_ctx, die, is_static, is_variadic,
1226+
has_template_params, function_param_types,
1227+
function_param_decls, type_quals);
12301228
}
12311229

12321230
bool ignore_containing_context = false;
@@ -2325,7 +2323,7 @@ DWARFASTParserClang::ConstructDemangledNameFromDWARF(const DWARFDIE &die) {
23252323

23262324
clang::DeclContext *containing_decl_ctx =
23272325
GetClangDeclContextContainingDIE(die, nullptr);
2328-
ParseChildParameters(containing_decl_ctx, die, true, is_static, is_variadic,
2326+
ParseChildParameters(containing_decl_ctx, die, is_static, is_variadic,
23292327
has_template_params, param_types, param_decls,
23302328
type_quals);
23312329
sstr << "(";
@@ -3069,8 +3067,8 @@ bool DWARFASTParserClang::ParseChildMembers(
30693067

30703068
size_t DWARFASTParserClang::ParseChildParameters(
30713069
clang::DeclContext *containing_decl_ctx, const DWARFDIE &parent_die,
3072-
bool skip_artificial, bool &is_static, bool &is_variadic,
3073-
bool &has_template_params, std::vector<CompilerType> &function_param_types,
3070+
bool &is_static, bool &is_variadic, bool &has_template_params,
3071+
std::vector<CompilerType> &function_param_types,
30743072
std::vector<clang::ParmVarDecl *> &function_param_decls,
30753073
unsigned &type_quals) {
30763074
if (!parent_die)
@@ -3125,7 +3123,7 @@ size_t DWARFASTParserClang::ParseChildParameters(
31253123
}
31263124

31273125
bool skip = false;
3128-
if (skip_artificial && is_artificial) {
3126+
if (is_artificial) {
31293127
// In order to determine if a C++ member function is "const" we
31303128
// have to look at the const-ness of "this"...
31313129
if (arg_idx == 0 &&

lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ class DWARFASTParserClang : public lldb_private::plugin::dwarf::DWARFASTParser {
189189
size_t
190190
ParseChildParameters(clang::DeclContext *containing_decl_ctx,
191191
const lldb_private::plugin::dwarf::DWARFDIE &parent_die,
192-
bool skip_artificial, bool &is_static, bool &is_variadic,
192+
bool &is_static, bool &is_variadic,
193193
bool &has_template_params,
194194
std::vector<lldb_private::CompilerType> &function_args,
195195
std::vector<clang::ParmVarDecl *> &function_param_decls,

llvm/include/llvm/Config/llvm-config.h.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
/* Indicate that this is LLVM compiled from the amd-gfx branch. */
1818
#define LLVM_HAVE_BRANCH_AMD_GFX
19-
#define LLVM_MAIN_REVISION 522603
19+
#define LLVM_MAIN_REVISION 522607
2020

2121
/* Define if LLVM_ENABLE_DUMP is enabled */
2222
#cmakedefine LLVM_ENABLE_DUMP

llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ bool X86ATTInstPrinter::printVecCompareInstr(const MCInst *MI,
140140
case X86::VCMPPSZ128rmik: case X86::VCMPPSZ128rrik:
141141
case X86::VCMPPSZ256rmik: case X86::VCMPPSZ256rrik:
142142
case X86::VCMPPSZrmik: case X86::VCMPPSZrrik:
143-
case X86::VCMPSDZrmi_Intk: case X86::VCMPSDZrri_Intk:
144-
case X86::VCMPSSZrmi_Intk: case X86::VCMPSSZrri_Intk:
143+
case X86::VCMPSDZrmik_Int: case X86::VCMPSDZrrik_Int:
144+
case X86::VCMPSSZrmik_Int: case X86::VCMPSSZrrik_Int:
145145
case X86::VCMPPDZ128rmbi: case X86::VCMPPDZ128rmbik:
146146
case X86::VCMPPDZ256rmbi: case X86::VCMPPDZ256rmbik:
147147
case X86::VCMPPDZrmbi: case X86::VCMPPDZrmbik:
@@ -150,8 +150,8 @@ bool X86ATTInstPrinter::printVecCompareInstr(const MCInst *MI,
150150
case X86::VCMPPSZrmbi: case X86::VCMPPSZrmbik:
151151
case X86::VCMPPDZrrib: case X86::VCMPPDZrribk:
152152
case X86::VCMPPSZrrib: case X86::VCMPPSZrribk:
153-
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrrib_Intk:
154-
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrrib_Intk:
153+
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrribk_Int:
154+
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrribk_Int:
155155
case X86::VCMPPHZ128rmi: case X86::VCMPPHZ128rri:
156156
case X86::VCMPPHZ256rmi: case X86::VCMPPHZ256rri:
157157
case X86::VCMPPHZrmi: case X86::VCMPPHZrri:
@@ -160,12 +160,12 @@ bool X86ATTInstPrinter::printVecCompareInstr(const MCInst *MI,
160160
case X86::VCMPPHZ128rmik: case X86::VCMPPHZ128rrik:
161161
case X86::VCMPPHZ256rmik: case X86::VCMPPHZ256rrik:
162162
case X86::VCMPPHZrmik: case X86::VCMPPHZrrik:
163-
case X86::VCMPSHZrmi_Intk: case X86::VCMPSHZrri_Intk:
163+
case X86::VCMPSHZrmik_Int: case X86::VCMPSHZrrik_Int:
164164
case X86::VCMPPHZ128rmbi: case X86::VCMPPHZ128rmbik:
165165
case X86::VCMPPHZ256rmbi: case X86::VCMPPHZ256rmbik:
166166
case X86::VCMPPHZrmbi: case X86::VCMPPHZrmbik:
167167
case X86::VCMPPHZrrib: case X86::VCMPPHZrribk:
168-
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrrib_Intk:
168+
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrribk_Int:
169169
case X86::VCMPPBF16Z128rmi: case X86::VCMPPBF16Z128rri:
170170
case X86::VCMPPBF16Z256rmi: case X86::VCMPPBF16Z256rri:
171171
case X86::VCMPPBF16Zrmi: case X86::VCMPPBF16Zrri:

llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,17 @@ using namespace llvm;
4040
CASE_MASK_INS_COMMON(Inst, Suffix, src) \
4141
CASE_MASKZ_INS_COMMON(Inst, Suffix, src)
4242

43+
#define CASE_MASK_INS_COMMON_INT(Inst, Suffix, src) \
44+
case X86::V##Inst##Suffix##src##k_Int:
45+
46+
#define CASE_MASKZ_INS_COMMON_INT(Inst, Suffix, src) \
47+
case X86::V##Inst##Suffix##src##kz_Int:
48+
49+
#define CASE_AVX512_INS_COMMON_INT(Inst, Suffix, src) \
50+
CASE_AVX_INS_COMMON(Inst, Suffix, src##_Int) \
51+
CASE_MASK_INS_COMMON_INT(Inst, Suffix, src) \
52+
CASE_MASKZ_INS_COMMON_INT(Inst, Suffix, src)
53+
4354
#define CASE_FPCLASS_PACKED(Inst, src) \
4455
CASE_AVX_INS_COMMON(Inst, Z, src##i) \
4556
CASE_AVX_INS_COMMON(Inst, Z256, src##i) \
@@ -196,8 +207,8 @@ using namespace llvm;
196207
CASE_AVX_INS_COMMON(Inst##SS, , r_Int) \
197208
CASE_AVX_INS_COMMON(Inst##SD, Z, r) \
198209
CASE_AVX_INS_COMMON(Inst##SS, Z, r) \
199-
CASE_AVX512_INS_COMMON(Inst##SD, Z, r_Int) \
200-
CASE_AVX512_INS_COMMON(Inst##SS, Z, r_Int)
210+
CASE_AVX512_INS_COMMON_INT(Inst##SD, Z, r) \
211+
CASE_AVX512_INS_COMMON_INT(Inst##SS, Z, r)
201212

202213
#define CASE_FMA_SCALAR_MEM(Inst) \
203214
CASE_AVX_INS_COMMON(Inst##SD, , m) \
@@ -206,8 +217,8 @@ using namespace llvm;
206217
CASE_AVX_INS_COMMON(Inst##SS, , m_Int) \
207218
CASE_AVX_INS_COMMON(Inst##SD, Z, m) \
208219
CASE_AVX_INS_COMMON(Inst##SS, Z, m) \
209-
CASE_AVX512_INS_COMMON(Inst##SD, Z, m_Int) \
210-
CASE_AVX512_INS_COMMON(Inst##SS, Z, m_Int)
220+
CASE_AVX512_INS_COMMON_INT(Inst##SD, Z, m) \
221+
CASE_AVX512_INS_COMMON_INT(Inst##SS, Z, m)
211222

212223
#define CASE_FMA4(Inst, suf) \
213224
CASE_AVX_INS_COMMON(Inst, 4, suf) \

llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,8 @@ void X86InstPrinterCommon::printCMPMnemonic(const MCInst *MI, bool IsVCmp,
277277
case X86::VCMPSDrmi_Int: case X86::VCMPSDrri_Int:
278278
case X86::VCMPSDZrmi: case X86::VCMPSDZrri:
279279
case X86::VCMPSDZrmi_Int: case X86::VCMPSDZrri_Int:
280-
case X86::VCMPSDZrmi_Intk: case X86::VCMPSDZrri_Intk:
281-
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrrib_Intk:
280+
case X86::VCMPSDZrmik_Int: case X86::VCMPSDZrrik_Int:
281+
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrribk_Int:
282282
OS << "sd\t";
283283
break;
284284
case X86::CMPSSrmi: case X86::CMPSSrri:
@@ -287,8 +287,8 @@ void X86InstPrinterCommon::printCMPMnemonic(const MCInst *MI, bool IsVCmp,
287287
case X86::VCMPSSrmi_Int: case X86::VCMPSSrri_Int:
288288
case X86::VCMPSSZrmi: case X86::VCMPSSZrri:
289289
case X86::VCMPSSZrmi_Int: case X86::VCMPSSZrri_Int:
290-
case X86::VCMPSSZrmi_Intk: case X86::VCMPSSZrri_Intk:
291-
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrrib_Intk:
290+
case X86::VCMPSSZrmik_Int: case X86::VCMPSSZrrik_Int:
291+
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrribk_Int:
292292
OS << "ss\t";
293293
break;
294294
case X86::VCMPPHZ128rmi: case X86::VCMPPHZ128rri:
@@ -305,8 +305,8 @@ void X86InstPrinterCommon::printCMPMnemonic(const MCInst *MI, bool IsVCmp,
305305
break;
306306
case X86::VCMPSHZrmi: case X86::VCMPSHZrri:
307307
case X86::VCMPSHZrmi_Int: case X86::VCMPSHZrri_Int:
308-
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrrib_Intk:
309-
case X86::VCMPSHZrmi_Intk: case X86::VCMPSHZrri_Intk:
308+
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrribk_Int:
309+
case X86::VCMPSHZrmik_Int: case X86::VCMPSHZrrik_Int:
310310
OS << "sh\t";
311311
break;
312312
case X86::VCMPPBF16Z128rmi: case X86::VCMPPBF16Z128rri:

llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ bool X86IntelInstPrinter::printVecCompareInstr(const MCInst *MI, raw_ostream &OS
119119
case X86::VCMPPSZ128rmik: case X86::VCMPPSZ128rrik:
120120
case X86::VCMPPSZ256rmik: case X86::VCMPPSZ256rrik:
121121
case X86::VCMPPSZrmik: case X86::VCMPPSZrrik:
122-
case X86::VCMPSDZrmi_Intk: case X86::VCMPSDZrri_Intk:
123-
case X86::VCMPSSZrmi_Intk: case X86::VCMPSSZrri_Intk:
122+
case X86::VCMPSDZrmik_Int: case X86::VCMPSDZrrik_Int:
123+
case X86::VCMPSSZrmik_Int: case X86::VCMPSSZrrik_Int:
124124
case X86::VCMPPDZ128rmbi: case X86::VCMPPDZ128rmbik:
125125
case X86::VCMPPDZ256rmbi: case X86::VCMPPDZ256rmbik:
126126
case X86::VCMPPDZrmbi: case X86::VCMPPDZrmbik:
@@ -129,8 +129,8 @@ bool X86IntelInstPrinter::printVecCompareInstr(const MCInst *MI, raw_ostream &OS
129129
case X86::VCMPPSZrmbi: case X86::VCMPPSZrmbik:
130130
case X86::VCMPPDZrrib: case X86::VCMPPDZrribk:
131131
case X86::VCMPPSZrrib: case X86::VCMPPSZrribk:
132-
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrrib_Intk:
133-
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrrib_Intk:
132+
case X86::VCMPSDZrrib_Int: case X86::VCMPSDZrribk_Int:
133+
case X86::VCMPSSZrrib_Int: case X86::VCMPSSZrribk_Int:
134134
case X86::VCMPPHZ128rmi: case X86::VCMPPHZ128rri:
135135
case X86::VCMPPHZ256rmi: case X86::VCMPPHZ256rri:
136136
case X86::VCMPPHZrmi: case X86::VCMPPHZrri:
@@ -139,12 +139,12 @@ bool X86IntelInstPrinter::printVecCompareInstr(const MCInst *MI, raw_ostream &OS
139139
case X86::VCMPPHZ128rmik: case X86::VCMPPHZ128rrik:
140140
case X86::VCMPPHZ256rmik: case X86::VCMPPHZ256rrik:
141141
case X86::VCMPPHZrmik: case X86::VCMPPHZrrik:
142-
case X86::VCMPSHZrmi_Intk: case X86::VCMPSHZrri_Intk:
142+
case X86::VCMPSHZrmik_Int: case X86::VCMPSHZrrik_Int:
143143
case X86::VCMPPHZ128rmbi: case X86::VCMPPHZ128rmbik:
144144
case X86::VCMPPHZ256rmbi: case X86::VCMPPHZ256rmbik:
145145
case X86::VCMPPHZrmbi: case X86::VCMPPHZrmbik:
146146
case X86::VCMPPHZrrib: case X86::VCMPPHZrribk:
147-
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrrib_Intk:
147+
case X86::VCMPSHZrrib_Int: case X86::VCMPSHZrribk_Int:
148148
case X86::VCMPPBF16Z128rmi: case X86::VCMPPBF16Z128rri:
149149
case X86::VCMPPBF16Z256rmi: case X86::VCMPPBF16Z256rri:
150150
case X86::VCMPPBF16Zrmi: case X86::VCMPPBF16Zrri:

llvm/lib/Target/X86/X86InstrAVX10.td

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -417,27 +417,30 @@ multiclass avx10_minmax_scalar<string OpStr, X86VectorVTInfo _, SDNode OpNode,
417417
(i32 timm:$src3)))]>,
418418
Sched<[WriteFMAX.Folded, WriteFMAX.ReadAfterFold]>;
419419
}
420-
defm rri_Int : AVX512_maskable<0x53, MRMSrcReg, _, (outs VR128X:$dst),
421-
(ins VR128X:$src1, VR128X:$src2, i32u8imm:$src3),
422-
OpStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
423-
(_.VT (OpNode (_.VT _.RC:$src1), (_.VT _.RC:$src2),
424-
(i32 timm:$src3)))>,
420+
defm rri : AVX512_maskable<0x53, MRMSrcReg, _, (outs VR128X:$dst),
421+
(ins VR128X:$src1, VR128X:$src2, i32u8imm:$src3),
422+
OpStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
423+
(_.VT (OpNode (_.VT _.RC:$src1), (_.VT _.RC:$src2),
424+
(i32 timm:$src3))),
425+
0, 0, 0, vselect_mask, "", "_Int">,
425426
Sched<[WriteFMAX]>;
426427

427-
defm rmi_Int : AVX512_maskable<0x53, MRMSrcMem, _, (outs VR128X:$dst),
428-
(ins VR128X:$src1, _.ScalarMemOp:$src2, i32u8imm:$src3),
429-
OpStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
430-
(_.VT (OpNode (_.VT _.RC:$src1), (_.ScalarIntMemFrags addr:$src2),
431-
(i32 timm:$src3)))>,
428+
defm rmi : AVX512_maskable<0x53, MRMSrcMem, _, (outs VR128X:$dst),
429+
(ins VR128X:$src1, _.ScalarMemOp:$src2, i32u8imm:$src3),
430+
OpStr, "$src3, $src2, $src1", "$src1, $src2, $src3",
431+
(_.VT (OpNode (_.VT _.RC:$src1), (_.ScalarIntMemFrags addr:$src2),
432+
(i32 timm:$src3))),
433+
0, 0, 0, vselect_mask, "", "_Int">,
432434
Sched<[WriteFMAX.Folded, WriteFMAX.ReadAfterFold]>;
433435
}
434436
let Uses = []<Register>, mayRaiseFPException = 0 in
435-
defm rrib_Int : AVX512_maskable<0x53, MRMSrcReg, _, (outs VR128X:$dst),
436-
(ins VR128X:$src1, VR128X:$src2, i32u8imm:$src3),
437-
OpStr, "$src3, {sae}, $src2, $src1",
438-
"$src1, $src2, {sae}, $src3",
439-
(_.VT (OpNodeSAE (_.VT _.RC:$src1), (_.VT _.RC:$src2),
440-
(i32 timm:$src3)))>,
437+
defm rrib : AVX512_maskable<0x53, MRMSrcReg, _, (outs VR128X:$dst),
438+
(ins VR128X:$src1, VR128X:$src2, i32u8imm:$src3),
439+
OpStr, "$src3, {sae}, $src2, $src1",
440+
"$src1, $src2, {sae}, $src3",
441+
(_.VT (OpNodeSAE (_.VT _.RC:$src1), (_.VT _.RC:$src2),
442+
(i32 timm:$src3))),
443+
0, 0, 0, vselect_mask, "", "_Int">,
441444
Sched<[WriteFMAX]>, EVEX_B;
442445
}
443446
}

0 commit comments

Comments
 (0)