Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
47d66bf
[X86] Add tests showing failure to concat fcmp instructions together …
RKSimon Dec 2, 2025
25b6a15
GlobalISel: Stop using TPC to check if GlobalISelAbort is enabled (#1…
petar-avramovic Dec 2, 2025
cdc4147
[lldb][shell tests] Properly fix fallout from c8031c3dd743
felipepiovezan Dec 2, 2025
0d853ae
AMDGPU: Fix treating unknown mem operands as uniform (#170309)
arsenm Dec 2, 2025
e07e60e
libclc: Fix build in atomic_def.inc (#170306)
arsenm Dec 2, 2025
c21fd44
[clang][deps][NFC] Replace a vector with an array (#169555)
davidstone Dec 2, 2025
6984f94
[MemProf] Require x86 for memprof-pgho.cpp test (#170321)
melver Dec 2, 2025
c691020
[NFC] [clang-tidy] Fix potential SA issues. (#170289)
zahiraam Dec 2, 2025
4ff3d1c
[profcheck] update exclude list (#170316)
mtrofin Dec 2, 2025
669683a
clang/AMDGPU: Add missing __opencl_c_read_write_images feature macro …
arsenm Dec 2, 2025
5681c71
Revert "[flang] implement show_descriptor intrinsic, a non-standard e…
Meinersbur Dec 2, 2025
2209d33
[CIR][X86] Add support for kunpck builtins (#168757)
ahmednoursphinx Dec 2, 2025
5c552c5
[lldb] Fix GetExpressionPath for vector registers (#169210)
da-viper Dec 2, 2025
9063416
[OpenMP][clang] Remove metadata checks in amdgcn_weak_alias.c (#170326)
Jason-VanBeusekom Dec 2, 2025
2ad7174
[LSR] Insert the transformed IV increment in the user block (#169515)
john-brawn-arm Dec 2, 2025
c037128
[ARM] Introduce intrinsics for MVE minnm/maxnm under strict-fp. (#169…
davemgreen Dec 2, 2025
1e6476d
[LV] Add predicated store sinking tests requiring further noalias checks
fhahn Dec 2, 2025
5fa103a
[clang][Docs] Move debug info flags into groups (#169942)
jryans Dec 2, 2025
a8ef3c8
[mlir][vector][test] Fix comment in test (nfc) (#170336)
banach-space Dec 2, 2025
ea00593
[MLIR][XeGPU][Quickfix] Disable block count in propagation (#170304)
akroviakov Dec 2, 2025
e0f3302
[ValueTracking] Support scalable vector splats in computeKnownFPClass…
dtcxzyw Dec 2, 2025
ac66ae4
[bazel] feat: update bazel lldb for llvm:support dep (#170344)
kevinwkt Dec 2, 2025
5e5937c
[LLDB] Add SBFrameExtensions Tests (#169236)
ahmednoursphinx Dec 2, 2025
ef49c92
[NFC][LLVM] Namespace cleanup in ScalarEvolution (#166620)
jurahul Dec 2, 2025
2c38632
LTO: Remove unused TargetLibraryInfo include (#170340)
arsenm Dec 2, 2025
4587fe6
[lld] Fix typo in lld manpage, nfc (#170299)
serge-sans-paille Dec 2, 2025
23a22d0
[SROA] Unify the names of new instructions created in SROA. (#167917)
rastogishubham Dec 2, 2025
e0db7f3
[WebAssembly] Optimize away mask of 63 for sra and srl( zext (and i32…
badumbatish Dec 2, 2025
1a3709c
[SPIRV] Error for zero-length arrays if not a shader (#169732)
sarnex Dec 2, 2025
41a53c0
[lldb/Target] Add BorrowedStackFrame and make StackFrame methods virt…
medismailben Dec 2, 2025
2183846
[AMDGPU] Fix AGPR_32 reg assign for mfma scale ops (#168964)
hjagasiaAMD Dec 2, 2025
5c3c002
[NFC] Refactor TargetLowering::getTgtMemIntrinsic to take CallBase pa…
ro-i Dec 2, 2025
697b1be
[AMDGPU][NFC] Put gfx125x common features into 12_50_Common (#170338)
changpeng Dec 2, 2025
73979c1
[mlir][amdgpu] Lower amdgpu.make_dma_base (#169817)
amd-eochoalo Dec 2, 2025
6e262aa
[gn build] Port 41a53c0a23ee
llvmgnsyncbot Dec 2, 2025
879dddf
[AArch64] Add tests for umulh. NFC
davemgreen Dec 2, 2025
c50802c
Reland "[lldb] Introduce ScriptedFrameProvider for real threads (#161…
medismailben Dec 2, 2025
3f2e3e6
[mlir][AMDGPU][NFC] Fix overlapping masked load refinements (#159805)
krzysz00 Dec 2, 2025
fae64ad
[lldb] Handle deref of register and implicit locations (#169419)
dmpots Dec 2, 2025
6dd639e
[CIR][OpenACC] Implement 'routine' lowering + seq clause (#170207)
erichkeane Dec 2, 2025
b50a590
[acc][flang] Add genLoad and genStore to PointerLikeType (#170348)
razvanlupusoru Dec 2, 2025
49a9787
[SCEV] Regenerate a subset of auto updated tests
preames Dec 2, 2025
ca3de05
[CIR][NFC] Fix a release build warning (#170359)
andykaylor Dec 2, 2025
0bb987f
Revert "[CUDA][HIP] Fix CTAD for host/device constructors (#168711)"
yxsamliu Dec 2, 2025
c910d82
[OpenACC][CIR] Add worker/vector clause lowering for Routine (#170358)
erichkeane Dec 2, 2025
c77fe58
[bazel] update bazel build for PluginScriptedProcess (#170364)
kevinwkt Dec 2, 2025
12ae727
[CIR] Upstream support for builtin_constant_p (#170354)
andykaylor Dec 2, 2025
d97746c
[libc++] Fix the rest of __gnu_cxx::hash_XXX copy construction (#160525)
asmok-g Dec 2, 2025
139ebfa
[Bazel] Fix `--warn-backrefs` errors in `Analysis` target (#170357)
jmacnak Dec 2, 2025
f0e1254
[LV] Use forced cost once for whole interleave group in legacy costmo…
fhahn Dec 2, 2025
4006df9
[OpenACC][CIR] Implement 'nohost' lowering. (#170369)
erichkeane Dec 2, 2025
bd5fa63
[VPlan] Remove duplicated computeCost call (NFC).
fhahn Dec 2, 2025
d3256d9
[flang][cuda] Add alignment to shared memory operation (#170372)
clementval Dec 2, 2025
41519b3
[SCEV] Add UDiv canonicalization tests with nested AddRecs.
fhahn Dec 2, 2025
fff45dd
[lldb-dap] Follow the spec more closely on 'initialize' arguments. (#…
ashgti Dec 2, 2025
434127b
[HLSL] Static resources (#166880)
hekota Dec 2, 2025
9885aed
[flang][cuda] Add address cast for src and dst in TMA operations (#17…
clementval Dec 2, 2025
ec6091f
[OFFLOAD][LIBOMPTARGET] Start to update debug messages in libomptarge…
adurang Dec 2, 2025
aeea056
AMDGPU/GlobalISel: Report RegBankLegalize errors using reportGISelFai…
petar-avramovic Dec 2, 2025
0f235c3
[LowerConstantIntrinsics] Improve tests related to llvm.objectsize. N…
bjope Dec 2, 2025
dbb702f
[NFC][AMDGPU] Remove trailing white spaces in `AMDGPU.td`
shiltian Dec 2, 2025
e5f1d02
[CIR] Lower calls to trivial copy constructor to cir::CopyOp (#168281)
HendrikHuebner Dec 2, 2025
9c78bc5
Revert "[LSV] Merge contiguous chains across scalar types" (#170381)
dakersnar Dec 2, 2025
6bdb838
[CIR] Upstream vec shuffle builtins in CIR codegen (#169178)
Thibault-Monnier Dec 2, 2025
e9c1274
[LTT] mark the CFI jumptable naked on Windows (#170371)
mtrofin Dec 2, 2025
6c32535
[clang][NFC] Remove unused CFGStmtMap.h includes (#170383)
davidstone Dec 3, 2025
45918f5
[llvm][NFC] In `SetVector`, `contains` and `count` now automatically …
davidstone Dec 3, 2025
dd1b4ab
[HLSL][Matrix] Add support for Matrix element and trunc Casts (#168915)
farzonl Dec 3, 2025
9dd3346
[AMDGPU] Prevent folding of flat_scr_base_hi into a 64-bit SALU (#170…
rampitec Dec 3, 2025
9fd288e
clang/AMDGPU: Enable opencl 2.0 features for unknown target (#170308)
arsenm Dec 3, 2025
94c8940
lldbgdbremote.md: Update `qWasmLocal` result description (#170393)
MaxDesiatov Dec 3, 2025
325a082
[lldb] Fix Doxygen warning in SBTrace.h (#170394)
zfogg Dec 3, 2025
c5e9289
[llvm-exegesis] Make rvv/filter.test deterministic
boomanaiden154 Dec 3, 2025
e05fffb
Revert "[Clang] Add __builtin_common_reference (#121199)"
nico Dec 3, 2025
b30a48c
[lldb/test] Fix scripted frame provider tests on ARM32
medismailben Dec 3, 2025
dea86c6
[AMDGPU][NFC] Add occupancy checks for gfx950 and gfx1250 (#170392)
changpeng Dec 3, 2025
ac19d38
[lldb][DWARFASTParserClang] Complete and make use of LLVM's RTTI supp…
Michael137 Dec 3, 2025
7685e1f
[lldb][test] DWARFASTParserClangTests: extract test setup into helper…
Michael137 Dec 3, 2025
271e99d
[CIR] Support x86 builtin rotate (#169566)
moar55 Dec 3, 2025
83ab875
[AMDGPU] Handle phys regs in flat_scratch_base_hi operand check (#170…
rampitec Dec 3, 2025
2cf2768
[lldb/test] XFAIL TestFrameProviderCircularDependency.py on Windows
medismailben Dec 3, 2025
6773883
merge main into amd-staging
ronlieb Dec 3, 2025
82c6ad6
[lldb/test] Add missing import for decorator (NFC)
medismailben Dec 3, 2025
f5a87ff
merge main into amd-staging
ronlieb Dec 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ class ExpandModularHeadersPPCallbacks : public PPCallbacks {
std::unique_ptr<Preprocessor> PP;
bool EnteredMainFile = false;
bool StartedLexing = false;
Token CurrentToken;
Token CurrentToken = Token();
};

} // namespace tooling
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ void FloatLoopCounterCheck::registerMatchers(MatchFinder *Finder) {

void FloatLoopCounterCheck::check(const MatchFinder::MatchResult &Result) {
const auto *FS = Result.Nodes.getNodeAs<ForStmt>("for");
assert(FS && "FS should not be null");

diag(FS->getInc()->getBeginLoc(), "loop induction expression should not have "
"floating-point type")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ void ProBoundsAvoidUncheckedContainerAccessCheck::check(
}
} else if (const auto *MCE = dyn_cast<CXXMemberCallExpr>(MatchedExpr)) {
// Case: a.operator[](i) or a->operator[](i)
const auto *Callee = dyn_cast<MemberExpr>(MCE->getCallee());
const auto *Callee = cast<MemberExpr>(MCE->getCallee());

if (FixMode == At) {
// Cases: a.operator[](i) => a.at(i) and a->operator[](i) => a->at(i)
Expand Down
17 changes: 0 additions & 17 deletions clang/docs/LanguageExtensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1827,23 +1827,6 @@ Builtin type aliases

Clang provides a few builtin aliases to improve the throughput of certain metaprogramming facilities.

__builtin_common_reference
--------------------------

.. code-block:: c++

template <template <class, class, template <class> class, template <class> class> class BasicCommonReferenceT,
template <class... Args> CommonTypeT,
template <class> HasTypeMember,
class HasNoTypeMember,
class... Ts>
using __builtin_common_reference = ...;

This alias is used for implementing ``std::common_reference``. If ``std::common_reference`` should contain a ``type``
member, it is an alias to ``HasTypeMember<TheCommonReference>``. Otherwse it is an alias to ``HasNoTypeMember``. The
``CommonTypeT`` is usually ``std::common_type_t``. ``BasicCommonReferenceT`` is usually an alias template to
``basic_common_reference<T, U, TX, UX>::type``.

__builtin_common_type
---------------------

Expand Down
6 changes: 6 additions & 0 deletions clang/include/clang/AST/ASTConsumer.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ namespace clang {
class VarDecl;
class FunctionDecl;
class ImportDecl;
class OpenACCRoutineDecl;

/// ASTConsumer - This is an abstract interface that should be implemented by
/// clients that read ASTs. This abstraction layer allows the client to be
Expand Down Expand Up @@ -116,6 +117,11 @@ class ASTConsumer {
// variable has been instantiated.
virtual void HandleCXXStaticMemberVarInstantiation(VarDecl *D) {}

/// Callback to handle the end-of-translation unit attachment of OpenACC
/// routine declaration information.
virtual void HandleOpenACCRoutineReference(const FunctionDecl *FD,
const OpenACCRoutineDecl *RD) {}

/// Callback involved at the end of a translation unit to
/// notify the consumer that a vtable for the given C++ class is
/// required.
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/AST/OperationKinds.def
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,9 @@ CAST_OPERATION(IntToOCLSampler)
// Truncate a vector type by dropping elements from the end (HLSL only).
CAST_OPERATION(HLSLVectorTruncation)

// Truncate a matrix type by dropping elements from the end (HLSL only).
CAST_OPERATION(HLSLMatrixTruncation)

// Non-decaying array RValue cast (HLSL only).
CAST_OPERATION(HLSLArrayRValue)

Expand Down
30 changes: 2 additions & 28 deletions clang/include/clang/Basic/BuiltinTemplates.td
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ class TemplateArg<string name> {
string Name = name;
}

class Template<list<TemplateArg> args, string name = ""> : TemplateArg<name> {
class Template<list<TemplateArg> args, string name> : TemplateArg<name> {
list<TemplateArg> Args = args;
}

class Class<string name = "", bit is_variadic = 0> : TemplateArg<name> {
class Class<string name, bit is_variadic = 0> : TemplateArg<name> {
bit IsVariadic = is_variadic;
}

Expand Down Expand Up @@ -56,32 +56,6 @@ def __builtin_common_type : CPlusPlusBuiltinTemplate<
Class<"HasNoTypeMember">,
Class<"Ts", /*is_variadic=*/1>]>;

// template <template <class,"
// class,"
// template <class> class,"
// template <class> class> class BasicCommonReferenceT,"
// template <class... Args> class CommonTypeT,"
// template <class> class HasTypeMember,"
// class HasNoTypeMember,"
// class... Ts>"
def __builtin_common_reference : CPlusPlusBuiltinTemplate<
[Template<[Class<>,
Class<>,
Template<[Class<>]>,
Template<[Class<>]>], "BasicCommonReferenceT">,
Template<[Class<"Args", /*is_variadic=*/1>], "CommonTypeT">,
Template<[Class<>], "HasTypeMember">,
Class<"HasNoTypeMember">,
Class<"Ts", /*is_variadic=*/1>]>;

foreach Ref = ["", "lvalue", "rvalue"] in {
foreach Const = ["", "const"] in {
foreach Volatile = ["", "volatile"] in {
def __clang_internal_xref_#Ref#Const#Volatile : CPlusPlusBuiltinTemplate<[Class<>]>;
}
}
}

// template <uint32_t Opcode,
// uint32_t Size,
// uint32_t Alignment,
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/Basic/DiagnosticGroups.td
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,7 @@ def SuperSubClassMismatch : DiagGroup<"super-class-method-mismatch">;
def OverridingMethodMismatch : DiagGroup<"overriding-method-mismatch">;
def VariadicMacros : DiagGroup<"variadic-macros">;
def VectorConversion : DiagGroup<"vector-conversion">; // clang specific
def MatrixConversion : DiagGroup<"matrix-conversion">; // clang specific
def VexingParse : DiagGroup<"vexing-parse">;
def VLAUseStaticAssert : DiagGroup<"vla-extension-static-assert">;
def VLACxxExtension : DiagGroup<"vla-cxx-extension", [VLAUseStaticAssert]>;
Expand Down Expand Up @@ -1333,6 +1334,8 @@ def : DiagGroup<"int-conversions",
[IntConversion]>; // -Wint-conversions = -Wint-conversion
def : DiagGroup<"vector-conversions",
[VectorConversion]>; // -Wvector-conversions = -Wvector-conversion
def : DiagGroup<"matrix-conversions",
[MatrixConversion]>; // -Wmatrix-conversions = -Wmatrix-conversion
def : DiagGroup<"unused-local-typedefs", [UnusedLocalTypedef]>;
// -Wunused-local-typedefs = -Wunused-local-typedef

Expand Down
8 changes: 7 additions & 1 deletion clang/include/clang/Basic/DiagnosticSemaKinds.td
Original file line number Diff line number Diff line change
Expand Up @@ -4352,6 +4352,9 @@ def warn_param_typestate_mismatch : Warning<
def warn_unknown_sanitizer_ignored : Warning<
"unknown sanitizer '%0' ignored">, InGroup<UnknownSanitizers>;

def warn_impcast_matrix_scalar : Warning<
"implicit conversion turns matrix to scalar: %0 to %1">,
InGroup<MatrixConversion>;
def warn_impcast_vector_scalar : Warning<
"implicit conversion turns vector to scalar: %0 to %1">,
InGroup<Conversion>, DefaultIgnore;
Expand Down Expand Up @@ -13282,7 +13285,10 @@ def err_hlsl_builtin_scalar_vector_mismatch
"vector type with matching scalar element type%diff{: $ vs $|}2,3">;

def warn_hlsl_impcast_vector_truncation : Warning<
"implicit conversion truncates vector: %0 to %1">, InGroup<Conversion>;
"implicit conversion truncates vector: %0 to %1">, InGroup<VectorConversion>;

def warn_hlsl_impcast_matrix_truncation : Warning<
"implicit conversion truncates matrix: %0 to %1">, InGroup<MatrixConversion>;

def warn_hlsl_availability : Warning<
"%0 is only available %select{|in %4 environment }3on %1 %2 or newer">,
Expand Down
8 changes: 4 additions & 4 deletions clang/include/clang/Basic/arm_mve.td
Original file line number Diff line number Diff line change
Expand Up @@ -783,15 +783,15 @@ let params = T.Unsigned in {
}
let params = T.Float in {
def vminnmq: Intrinsic<Vector, (args Vector:$a, Vector:$b),
(IRIntBase<"minnum", [Vector]> $a, $b)>;
(fminnm $a, $b)>;
def vmaxnmq: Intrinsic<Vector, (args Vector:$a, Vector:$b),
(IRIntBase<"maxnum", [Vector]> $a, $b)>;
(fmaxnm $a, $b)>;
def vminnmaq: Intrinsic<Vector, (args Vector:$a, Vector:$b),
(IRIntBase<"minnum", [Vector]>
(fminnm
(IRIntBase<"fabs", [Vector]> $a),
(IRIntBase<"fabs", [Vector]> $b))>;
def vmaxnmaq: Intrinsic<Vector, (args Vector:$a, Vector:$b),
(IRIntBase<"maxnum", [Vector]>
(fmaxnm
(IRIntBase<"fabs", [Vector]> $a),
(IRIntBase<"fabs", [Vector]> $b))>;
}
Expand Down
4 changes: 4 additions & 0 deletions clang/include/clang/Basic/arm_mve_defs.td
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,10 @@ def fsub: strictFPAlt<fsub_node,
IRInt<"vsub", [Vector]>>;
def fmul: strictFPAlt<fmul_node,
IRInt<"vmul", [Vector]>>;
def fminnm : strictFPAlt<IRIntBase<"minnum", [Vector]>,
IRInt<"vminnm", [Vector]>>;
def fmaxnm : strictFPAlt<IRIntBase<"maxnum", [Vector]>,
IRInt<"vmaxnm", [Vector]>>;

// -----------------------------------------------------------------------------
// Convenience lists of parameter types. 'T' is just a container record, so you
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/CIR/CIRGenerator.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ class CIRGenerator : public clang::ASTConsumer {
void HandleTagDeclDefinition(clang::TagDecl *d) override;
void HandleTagDeclRequiredDefinition(const clang::TagDecl *D) override;
void HandleCXXStaticMemberVarInstantiation(clang::VarDecl *D) override;
void
HandleOpenACCRoutineReference(const clang::FunctionDecl *FD,
const clang::OpenACCRoutineDecl *RD) override;
void CompleteTentativeDefinition(clang::VarDecl *d) override;
void HandleVTable(clang::CXXRecordDecl *rd) override;

Expand Down
29 changes: 29 additions & 0 deletions clang/include/clang/CIR/Dialect/IR/CIROps.td
Original file line number Diff line number Diff line change
Expand Up @@ -1173,6 +1173,35 @@ def CIR_SwitchOp : CIR_Op<"switch", [
let hasLLVMLowering = false;
}

//===----------------------------------------------------------------------===//
// IsConstantOp
//===----------------------------------------------------------------------===//

def CIR_IsConstantOp : CIR_Op<"is_constant", [Pure]> {
let summary = "Test for manifest compile-time constant";
let description = [{
Returns `true` if the argument is known to be a manifest compile-time
constant otherwise returns `false`. If the argument is a constant expression
which refers to a global (the address of which _is_ a constant, but not
manifest during the compile), then the intrinsic evaluates to `false`.

This is used to represent `__builtin_constant_p` in cases where the argument
isn't known to be constant during initial translation of the source code but
might be proven to be constant after later optimizations.

Example:
```
%1 = cir.is_constant %2 : !s32i -> !cir.bool
```
}];
let arguments = (ins CIR_AnyType:$val);
let results = (outs CIR_BoolType:$result);

let assemblyFormat = [{
$val `:` qualified(type($val)) `->` qualified(type($result)) attr-dict
}];
}

//===----------------------------------------------------------------------===//
// SwitchFlatOp
//===----------------------------------------------------------------------===//
Expand Down
36 changes: 21 additions & 15 deletions clang/include/clang/Options/Options.td
Original file line number Diff line number Diff line change
Expand Up @@ -4870,25 +4870,25 @@ def ggdb3 : Flag<["-"], "ggdb3">, Group<ggdbN_Group>;
def glldb : Flag<["-"], "glldb">, Group<gTune_Group>;
def gsce : Flag<["-"], "gsce">, Group<gTune_Group>;
def gdbx : Flag<["-"], "gdbx">, Group<gTune_Group>;
// Equivalent to our default dwarf version. Forces usual dwarf emission when
// Equivalent to our default DWARF version. Forces usual DWARF emission when
// CodeView is enabled.
def gdwarf : Flag<["-"], "gdwarf">, Group<g_Group>,
Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
HelpText<"Generate source-level debug information with the default dwarf version">;
HelpText<"Generate source-level debug information with the default DWARF version">;

let Visibility = [ClangOption, FlangOption] in {
def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group<g_Group>,
HelpText<"Generate source-level debug information with dwarf version 2">;
HelpText<"Generate source-level debug information with DWARF version 2">;
def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group<g_Group>,
HelpText<"Generate source-level debug information with dwarf version 3">;
HelpText<"Generate source-level debug information with DWARF version 3">;
def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group<g_Group>,
HelpText<"Generate source-level debug information with dwarf version 4">;
HelpText<"Generate source-level debug information with DWARF version 4">;
def gdwarf_5 : Flag<["-"], "gdwarf-5">, Group<g_Group>,
HelpText<"Generate source-level debug information with dwarf version 5">;
HelpText<"Generate source-level debug information with DWARF version 5">;
def gdwarf_6
: Flag<["-"], "gdwarf-6">,
Group<g_Group>,
HelpText<"Generate source-level debug information with dwarf version 6">;
HelpText<"Generate source-level debug information with DWARF version 6">;
}
def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>,
Visibility<[ClangOption, CC1Option, CC1AsOption]>,
Expand All @@ -4915,25 +4915,28 @@ def gno_heterogeneous_dwarf : Flag<["-"], "gno-heterogeneous-dwarf">,
HelpText<"Disable DWARF extensions for heterogeneous debugging">,
Alias<gheterogeneous_dwarf_EQ>, AliasArgs<["disabled"]>;

def gcodeview : Flag<["-"], "gcodeview">,
def gcodeview : Flag<["-"], "gcodeview">, Group<g_Group>,
HelpText<"Generate CodeView debug information">,
Visibility<[ClangOption, CC1Option, CC1AsOption, CLOption, DXCOption]>,
MarshallingInfoFlag<CodeGenOpts<"EmitCodeView">>;
defm codeview_ghash : BoolOption<"g", "codeview-ghash",
CodeGenOpts<"CodeViewGHash">, DefaultFalse,
PosFlag<SetTrue, [], [ClangOption, CC1Option],
"Emit type record hashes in a .debug$H section">,
NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>;
NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
Group<g_flags_Group>;
defm codeview_command_line : BoolOption<"g", "codeview-command-line",
CodeGenOpts<"CodeViewCommandLine">, DefaultTrue,
PosFlag<SetTrue, [], [ClangOption], "Emit compiler path and command line into CodeView debug information">,
NegFlag<SetFalse, [], [ClangOption], "Don't emit compiler path and command line into CodeView debug information">,
BothFlags<[], [ClangOption, CLOption, DXCOption, CC1Option]>>;
BothFlags<[], [ClangOption, CLOption, DXCOption, CC1Option]>>,
Group<g_flags_Group>;
defm inline_line_tables : BoolGOption<"inline-line-tables",
CodeGenOpts<"NoInlineLineTables">, DefaultFalse,
NegFlag<SetTrue, [], [ClangOption, CC1Option],
"Don't emit inline line tables.">,
PosFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>;
PosFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
Group<g_flags_Group>;

def gfull : Flag<["-"], "gfull">, Group<g_Group>;
def gused : Flag<["-"], "gused">, Group<g_Group>;
Expand All @@ -4958,7 +4961,8 @@ defm strict_dwarf : BoolOption<"g", "strict-dwarf",
defm omit_unreferenced_methods : BoolGOption<"omit-unreferenced-methods",
CodeGenOpts<"DebugOmitUnreferencedMethods">, DefaultFalse,
NegFlag<SetFalse>,
PosFlag<SetTrue, [], [CC1Option]>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>;
PosFlag<SetTrue, [], [CC1Option]>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
Group<g_flags_Group>;
defm column_info : BoolOption<"g", "column-info",
CodeGenOpts<"DebugColumnInfo">, DefaultTrue,
NegFlag<SetFalse, [], [ClangOption, CC1Option]>,
Expand Down Expand Up @@ -5027,6 +5031,7 @@ defm structor_decl_linkage_names
"Attach linkage names to C++ constructor/destructor "
"declarations in DWARF.">,
BothFlags<[], [ClangOption, CLOption, CC1Option]>>,
Group<g_flags_Group>,
DocBrief<[{On some ABIs (e.g., Itanium), constructors and destructors may have multiple variants. Historically, when generating DWARF, Clang did not attach ``DW_AT_linkage_name`` to structor DIEs because there were multiple possible manglings (depending on the structor variant) that could be used. With ``-gstructor-decl-linkage-names``, for ABIs with structor variants, we attach a "unified" mangled name to structor declarations DIEs which debuggers can use to look up all the definitions for a structor declaration. E.g., a "unified" mangled name ``_ZN3FooC4Ev`` may have multiple definitions associated with it such as ``_ZN3FooC1Ev`` and ``_ZN3FooC2Ev``.

Enabling this flag results in a better interactive debugging experience (both GDB and LLDB have support for understanding these "unified" linkage names). However, it comes with a significant increase in debug-info size (particularly the `.debug_str` section). As an escape hatch, users can disable this feature using ``-gno-structor-decl-linkage-names``.}]>;
Expand All @@ -5035,7 +5040,8 @@ defm key_instructions : BoolGOption<"key-instructions",
NegFlag<SetFalse>, PosFlag<SetTrue, [], [],
"Enable Key Instructions, which reduces the jumpiness of debug stepping in optimized C/C++ code"
" in some debuggers. DWARF only.">,
BothFlags<[], [ClangOption, CLOption, CC1Option]>>;
BothFlags<[], [ClangOption, CLOption, CC1Option]>>,
Group<g_flags_Group>;
def headerpad__max__install__names : Joined<["-"], "headerpad_max_install_names">;
def help : Flag<["-", "--"], "help">,
Visibility<[ClangOption, CC1Option, CC1AsOption,
Expand Down Expand Up @@ -8690,7 +8696,7 @@ def main_file_name : Separate<["-"], "main-file-name">,
Visibility<[CC1Option, CC1AsOption]>,
MarshallingInfoString<CodeGenOpts<"MainFileName">>;
def split_dwarf_output : Separate<["-"], "split-dwarf-output">,
HelpText<"File name to use for split dwarf debug info output">,
HelpText<"File name to use for split DWARF debug info output">,
Visibility<[CC1Option, CC1AsOption, FC1Option]>,
MarshallingInfoString<CodeGenOpts<"SplitDwarfOutput">>;

Expand Down Expand Up @@ -8724,7 +8730,7 @@ def dependent_lib : Joined<["--"], "dependent-lib=">,
MarshallingInfoStringVector<CodeGenOpts<"DependentLibraries">>;

def split_dwarf_file : Separate<["-"], "split-dwarf-file">,
HelpText<"Name of the split dwarf debug info file to encode in the object file">,
HelpText<"Name of the split DWARF debug info file to encode in the object file">,
MarshallingInfoString<CodeGenOpts<"SplitDwarfFile">>;

} // let Visibility = [CC1Option, FC1Option]
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/Sema/Overload.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,9 @@ class Sema;
/// HLSL vector truncation.
ICK_HLSL_Vector_Truncation,

/// HLSL Matrix truncation.
ICK_HLSL_Matrix_Truncation,

/// HLSL non-decaying array rvalue cast.
ICK_HLSL_Array_RValue,

Expand Down
14 changes: 0 additions & 14 deletions clang/include/clang/Sema/Sema.h
Original file line number Diff line number Diff line change
Expand Up @@ -15322,17 +15322,6 @@ class Sema final : public SemaBase {
QualType BuiltinDecay(QualType BaseType, SourceLocation Loc);
QualType BuiltinAddReference(QualType BaseType, UTTKind UKind,
SourceLocation Loc);

QualType BuiltinAddRValueReference(QualType BaseType, SourceLocation Loc) {
return BuiltinAddReference(BaseType, UnaryTransformType::AddRvalueReference,
Loc);
}

QualType BuiltinAddLValueReference(QualType BaseType, SourceLocation Loc) {
return BuiltinAddReference(BaseType, UnaryTransformType::AddLvalueReference,
Loc);
}

QualType BuiltinRemoveExtent(QualType BaseType, UTTKind UKind,
SourceLocation Loc);
QualType BuiltinRemoveReference(QualType BaseType, UTTKind UKind,
Expand All @@ -15347,9 +15336,6 @@ class Sema final : public SemaBase {
QualType BuiltinChangeSignedness(QualType BaseType, UTTKind UKind,
SourceLocation Loc);

bool BuiltinIsConvertible(QualType From, QualType To, SourceLocation Loc,
bool CheckNothrow = false);

bool BuiltinIsBaseOf(SourceLocation RhsTLoc, QualType LhsT, QualType RhsT);

/// Ensure that the type T is a literal type.
Expand Down
Loading