Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
f186964
[CIR][X86] Implement lowering for AVX512 mask builtins (kadd, kand, k…
GeneraluseAI Nov 22, 2025
6fe75b0
Merge branch 'main' into cir_x86_avx512_mask_builtin_lowering
GeneraluseAI Nov 26, 2025
472e6d1
Merge branch 'main' into cir_x86_avx512_mask_builtin_lowering
GeneraluseAI Nov 26, 2025
4cdfc08
[Flang-rt] Remove COMPILE_ONLY from flang-rt CMake file. (#169534)
DominikAdamski Nov 26, 2025
637840d
MC: Remove unneeded parameter `MCAsmBackend *`. NFC
MaskRay Nov 26, 2025
1277c9a
[clang][bytecode][NFC] Make Program::getNativePointer() const (#169502)
tbaederr Nov 26, 2025
66ef94b
[lldb][NFC] Fix incorrect comments in TestArm64InstEmulation
felipepiovezan Nov 25, 2025
0b0378b
[RISCV] Remove intrinsic declarations in tests, NFC (#167474)
jacquesguan Nov 26, 2025
eed70d5
[AArch64] Add vector tests for add(trunc(shift))
davemgreen Nov 26, 2025
e4fac9d
[mlir][tensor] Add new builders for insert_slice/extract_slice Ops (n…
banach-space Nov 26, 2025
fbb8328
[clang][Sema] Merge Check[Sizeless]VectorConditionalTypes implementat…
MacDue Nov 26, 2025
a727af6
[clang][bytecode][NFC] Remove unused Integral range functions (#169508)
tbaederr Nov 26, 2025
6de0b1e
[OpenMP][flang] Add initial support for by-ref reductions on the GPU …
ergawy Nov 26, 2025
e04c71f
[LifetimeSafety] Move GSL pointer/owner type detection to LifetimeAnn…
usx95 Nov 26, 2025
54dc073
[LoopCacheAnalysis] Fix crash after #164798 (#169486)
kasuga-fj Nov 26, 2025
434ca33
[LV][NFC] Remove remaining uses of undef in tests (#169357)
david-arm Nov 26, 2025
588973b
[SPIRV] Improve Logical SPIR-V Pointer Access and GEP Legalization (#…
s-perron Nov 26, 2025
a80de09
[VPlan] Use DL index type consistently for GEPs (#169396)
artagnon Nov 26, 2025
9d0ec0b
[clang][DebugInfo] Add call site debug info flag (#169574)
jryans Nov 26, 2025
5d621f1
Reland "[clang] Refactor to remove clangDriver dependency from clangF…
naveen-seth Nov 26, 2025
748f2be
[dwarf] make dwarf fission compatible with RISCV relaxations 2/2 (#16…
daniilavdeev Nov 26, 2025
ac4827e
Reland "[clang][Driver] Support for the SPIR-V backend when compiling…
mgcarrasco Nov 26, 2025
b8f4874
[Delinearization] Remove tryDelinearizeFixedSizeImpl (#169046)
kasuga-fj Nov 26, 2025
d6c9cd1
Reland: [GPUToXeVMPipeline][Pipeline] Modify pipeline to add `convert…
mshahneo Nov 26, 2025
e0fa1d5
[HIP] Perform implicit pointer cast when compiling HIP, not when -fcu…
jmmartinez Nov 26, 2025
fed8dc7
[gn build] Port d090311aa7df
llvmgnsyncbot Nov 26, 2025
7b40dfc
[VPlan] Hoist predicated loads with complementary masks. (#168373)
fhahn Nov 26, 2025
1576ca9
[Support] Add getAllocTokenModeAsString() helper (#169650)
melver Nov 26, 2025
570edcd
[AArch64] Combine vector add(trunc(shift)) (#169523)
davemgreen Nov 26, 2025
8496184
[CIR] Add missing switch cases for AO__scoped_atomic_uinc/udec_wrap i…
wenju-he Nov 26, 2025
1fce2e2
[BOLT] Fix assertion test (#169635)
bgergely0 Nov 26, 2025
f3d904e
[OpenMP] Add docs for fb_nullify/fb_preserve (#169558)
zahiraam Nov 26, 2025
50e54e2
opt: Try to respect target-abi command line option (#169604)
arsenm Nov 26, 2025
b85b5fa
[SPIRV] Enable DCE in instruction selection and update tests (#168428)
s-perron Nov 26, 2025
76bf8f2
CodeGen: Make all targets override pseudos with pointers (#159881)
arsenm Nov 26, 2025
d737da4
[tysan] Type Sanitizer support for SystemZ (#162396)
anoopkg6 Nov 26, 2025
e09df95
[SPIRV] Support Peeled Array Layouts for HLSL CBuffers (#169078)
s-perron Nov 26, 2025
508251f
[SPIRV] Use OpCopyMemory for logical SPIRV memcpy (#169348)
s-perron Nov 26, 2025
5563c93
CodeGen: Make target overrides of PointerLikeRegClass mandatory (#159…
arsenm Nov 26, 2025
e2e7dcd
[scudo] Add scudo_standalone support for SystemZ (#166187)
anoopkg6 Nov 26, 2025
93ea77d
[mlir][xegpu] Add layout based SIMT distribution support for `vector.…
charithaintc Nov 26, 2025
0beb70a
[MC][RISCV] Add missing Predicates for NDS_FMV_BF16_X (#169662)
sunshaoce Nov 26, 2025
a06d561
[LV] Use VPReductionRecipe for partial reductions (#147513)
SamTebbs33 Nov 26, 2025
c78c419
CodeGen: Remove PointerLikeRegClass handling from codegen (#159883)
arsenm Nov 26, 2025
18dc623
RuntimeLibcalls: Add malloc and free entries (#167081)
arsenm Nov 26, 2025
505a47b
RuntimeLibcalls: Add more function entries from TargetLibraryInfo (#1…
arsenm Nov 26, 2025
6f0158e
RuntimeLibcalls: Add memset_pattern* calls to darwin systems (#167083)
arsenm Nov 26, 2025
d3dea6e
Revert [Driver] Error for -gsplit-dwarf with RISC-V linker relaxation…
daniilavdeev Nov 26, 2025
d49fdc9
[AArch64] Enable maximising scalable vector bandwidth (#166748)
SamTebbs33 Nov 26, 2025
583ef8c
[HLSL] Remove `faceforward` SPIRV fast path (#169547)
kmpeng Nov 26, 2025
8cb359f
[BOLT][BTI] Add MCPlusBuilder::updateBTIVariant (#167308)
bgergely0 Nov 26, 2025
3008fa9
[NFC][PowerPC] Merge ppc64 encoding error tests (#169669)
lei137 Nov 26, 2025
3f61fe2
[IndVarSimplify] Fix `IndVarSimplify` to skip unfolding predicates wh…
luciechoi Nov 26, 2025
e80166c
[OpenMP][clang] Register vtables on device for indirect calls runtim…
Jason-VanBeusekom Nov 26, 2025
abb73c2
[Clang] Allow AVX/AVX512 subvector shuffles in constexpr (#168700)
mooori Nov 26, 2025
43d0f31
[CIR] Upstream Builtin Exp2Op (#169152)
FantasqueX Nov 26, 2025
4ff219b
Move static test variable into the #if that uses it (#169695)
bogner Nov 26, 2025
46e7381
[Clang] Fix false positive -Wignored-qualifiers (#169664)
cor3ntin Nov 26, 2025
24df068
[CIR] CountOf VLA with Array element type (#169404)
AmrDeveloper Nov 26, 2025
439150a
[CIR][NFC] Cleanup builtin helper function interfaces (#169586)
andykaylor Nov 26, 2025
944f54e
[lldb-dap] Add multi-session support with shared debugger instances (…
qxy11 Nov 26, 2025
f77aa7f
[flang][OpenMP] Remove unused #include "dump-parse-tree.h", NFC (#169…
kparzysz Nov 26, 2025
b1a649f
[lldb] Fix reading 32-bit signed integers (#169150)
igorkudrin Nov 26, 2025
5e9bc54
[SLP][NFC]Add a test with single op inst, used in many nodes, NFC.
alexey-bataev Nov 26, 2025
a7dcceb
[ROCDL] Added missing `cluster.load.async.to.lds` op (gfx1250) (#169042)
ravil-mobile Nov 26, 2025
dc8951c
Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs when tail-…
fhahn Nov 26, 2025
a09fb96
[lldb] [test-suite] fix typo in variable in darwin builder (#169254)
n2h9 Nov 26, 2025
f0ef0f6
[lldb] [scripting bridge] 167388 chore: add api to return arch name f…
n2h9 Nov 26, 2025
27232f4
Revert "Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs wh…
fhahn Nov 26, 2025
c3e9988
[mlir][amdgpu] Add make_dma_base operation (#169086)
amd-eochoalo Nov 26, 2025
091929c
[CIR][NFC] Fix build problem inside an assert (#169715)
andykaylor Nov 26, 2025
7359388
Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs when tail-…
fhahn Nov 26, 2025
dc0d1e6
[X86] addcarry.ll - add test coverage for #169691 (#169716)
RKSimon Nov 26, 2025
a62ea2c
[libc++][flat_map] Applied `[[nodiscard]]` (#169453)
H-G-Hristov Nov 26, 2025
0fb94f6
[libc++] Applied `[[nodiscard]]` to Language Support (partially) (#16…
H-G-Hristov Nov 26, 2025
313e5ea
[clang-format] Add xxxMaxDigitsNoSeparator (#164286)
HazardyKnusperkeks Nov 26, 2025
2afb9dd
CodeGen: Optionally emit PAuth relocations as IRELATIVE relocations.
pcc Nov 26, 2025
d06c53f
Add IR and codegen support for deactivation symbols.
pcc Nov 26, 2025
48423ee
Add deactivation symbol operand to ConstantPtrAuth.
pcc Nov 26, 2025
4ce0ec7
Revert "[tysan] Type Sanitizer support for SystemZ" (#169726)
uweigand Nov 26, 2025
b398d0a
[bazel] Fix build after #169086 (#169725)
boomanaiden154 Nov 26, 2025
30809a7
[flang][cuda][rt] Add entry point to get the allocation stream (#169608)
clementval Nov 26, 2025
a47812e
[SystemZ] Emit optional argument area length field (#169679)
redstar Nov 26, 2025
dba25ec
[SPIRV] Fix a warning
kazutakahirata Nov 26, 2025
607872a
[mlir][acc] Introduce ACCImplicitDeclare pass for globals handling (#…
razvanlupusoru Nov 26, 2025
13b2094
[clang][Driver] Use -no-canonical-prefixes in hip-spirv-backend-opt t…
boomanaiden154 Nov 26, 2025
7498a2b
[libc++] Applied `[[nodiscard]]` to concurrency (partially) (#169463)
H-G-Hristov Nov 26, 2025
f4afbcf
[SLP][NFC]Add another test with the user with multiple copyable opera…
alexey-bataev Nov 26, 2025
44ac252
[CIR] Add undef handling to enable global lambdas (#169721)
andykaylor Nov 26, 2025
3049ce7
Fix sanitizer failure introduced by #133537
pcc Nov 26, 2025
034bbe0
[CIR][NFC] Move builtin tests to their own directory (#169737)
andykaylor Nov 26, 2025
5b32908
[lld][MachO] Follow-up to use madvise() for threaded file page-in. (#…
johnno1962 Nov 26, 2025
faa9601
github-upload-release.py: add requirements and lock files for install…
nightlark Nov 26, 2025
18ef269
[llvm-objdump] Optimize live element tracking (#158763)
gulfemsavrun Nov 27, 2025
1fb5be9
[ORC] Clear stale ElemToPendingSN entries in WaitingOnGraph. (#169747)
lhames Nov 27, 2025
58393bc
[lldb] Use InlHostByteOrder in RegisterValue::SetValueFromData (#169624)
sedymrak Nov 27, 2025
e626624
[UBSan] Use -fsanitize-handler-preserve-all-regs in codegen
fmayer Nov 20, 2025
464163d
[AMDGPU] Remove unused functions isSigned. NFC (#169750)
tclin914 Nov 27, 2025
fcf60ef
[mlir][dataflow] Add arguemnt print for test-liveness-analysis (#169625)
linuxlonelyeagle Nov 27, 2025
fe467e6
[LoadStoreVectorizer] Fix one-element vector handling (#169671)
cmc-rep Nov 27, 2025
bc09d91
[libc++][queue] Applied `[[nodiscard]]` (#169469)
H-G-Hristov Nov 27, 2025
bb8b3bf
[flang] Use default constructor for FIRToSCF pass (#169741)
clementval Nov 27, 2025
c8f6bd3
[mlir][Transforms] Dialect conversion: Add support for `replaceUsesWi…
matthias-springer Nov 27, 2025
dea6173
[libc++][mdspan] Applied `[[nodiscard]]` (#169326)
H-G-Hristov Nov 27, 2025
0521408
[lldb-dap] Add breakpoints after debugger initialization in DExTer (#…
qxy11 Nov 27, 2025
eef0b21
Add missing freeConstants() call for ConstantPtrAuths.
pcc Nov 27, 2025
ed9c9aa
[ReplaceConstant] Don't create instructions for the same constant mul…
shiltian Nov 27, 2025
d96c019
[MLIR][NVVM] Add missing rounding modes in fp16x2 conversions (#169005)
Wolfram70 Nov 27, 2025
c67bb87
[MLIR][Intrinsics] Add new MLIR API to automatically resolve overload…
rajatbajpai Nov 27, 2025
efee37a
[clang][Tooling] Fix `getFileRange` returning a range spanning across…
tJener Nov 27, 2025
b212448
[mlir][LLVMIR] Handle missing functions in CGProfile module flags (#1…
Men-cotton Nov 27, 2025
1354f82
[clang][bytecode] Remove double diagnostic emission (#169658)
tbaederr Nov 27, 2025
926e017
[CIR][X86] Implement lowering for AVX512 mask builtins
GeneraluseAI Nov 27, 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
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -1888,6 +1888,12 @@ class MCPlusBuilder {
llvm_unreachable("not implemented");
}

/// Update operand of BTI instruction.
virtual void updateBTIVariant(MCInst &Inst, bool CallTarget,
bool JumpTarget) const {
llvm_unreachable("not implemented");
}

/// Store \p Target absolute address to \p RegName
virtual InstructionListType materializeAddress(const MCSymbol *Target,
MCContext *Ctx,
Expand Down
8 changes: 8 additions & 0 deletions bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2800,6 +2800,14 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
Inst.getOpcode() == AArch64::PACIBSP;
}

void updateBTIVariant(MCInst &Inst, bool CallTarget,
bool JumpTarget) const override {
assert(Inst.getOpcode() == AArch64::HINT && "Not a BTI instruction.");
unsigned HintNum = getBTIHintNum(CallTarget, JumpTarget);
Inst.clear();
Inst.addOperand(MCOperand::createImm(HintNum));
}

InstructionListType materializeAddress(const MCSymbol *Target, MCContext *Ctx,
MCPhysReg RegName,
int64_t Addend = 0) const override {
Expand Down
8 changes: 8 additions & 0 deletions bolt/unittests/Core/MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,24 +156,32 @@ TEST_P(MCPlusBuilderTester, AArch64_BTI) {
ASSERT_EQ(II->getOpcode(), AArch64::HINT);
ASSERT_EQ(II->getOperand(0).getImm(), 38);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, true, true));
BC->MIB->updateBTIVariant(*II, true, false);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, true, false));

MCInst BTIj;
BC->MIB->createBTI(BTIj, false, true);
II = BB->addInstruction(BTIj);
ASSERT_EQ(II->getOpcode(), AArch64::HINT);
ASSERT_EQ(II->getOperand(0).getImm(), 36);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, false, true));
BC->MIB->updateBTIVariant(*II, true, true);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, true, true));

MCInst BTIc;
BC->MIB->createBTI(BTIc, true, false);
II = BB->addInstruction(BTIc);
ASSERT_EQ(II->getOpcode(), AArch64::HINT);
ASSERT_EQ(II->getOperand(0).getImm(), 34);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, true, false));
BC->MIB->updateBTIVariant(*II, false, true);
ASSERT_TRUE(BC->MIB->isBTILandingPad(*II, false, true));

#ifndef NDEBUG
MCInst BTIinvalid;
ASSERT_DEATH(BC->MIB->createBTI(BTIinvalid, false, false),
"No target kinds!");
#endif

MCInst Paciasp = MCInstBuilder(AArch64::PACIASP);
II = BB->addInstruction(Paciasp);
Expand Down
3 changes: 1 addition & 2 deletions clang-tools-extra/clangd/CompileCommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,7 @@ std::optional<std::string> detectSysroot() {

std::string detectStandardResourceDir() {
static int StaticForMainAddr; // Just an address in this process.
return CompilerInvocation::GetResourcesPath("clangd",
(void *)&StaticForMainAddr);
return GetResourcesPath("clangd", (void *)&StaticForMainAddr);
}

// The path passed to argv[0] is important:
Expand Down
1 change: 1 addition & 0 deletions clang-tools-extra/clangd/Compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "Compiler.h"
#include "support/Logger.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Driver/CreateInvocationFromArgs.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Serialization/PCHContainerOperations.h"
Expand Down
70 changes: 61 additions & 9 deletions clang/docs/ClangFormatStyleOptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4765,9 +4765,21 @@ the configuration (without a prefix: ``Auto``).
Decimal: 3
Hex: -1

You can also specify a minimum number of digits (``BinaryMinDigits``,
``DecimalMinDigits``, and ``HexMinDigits``) the integer literal must
have in order for the separators to be inserted.
You can also specify a minimum number of digits
(``BinaryMinDigitsInsert``, ``DecimalMinDigitsInsert``, and
``HexMinDigitsInsert``) the integer literal must have in order for the
separators to be inserted, and a maximum number of digits
(``BinaryMaxDigitsRemove``, ``DecimalMaxDigitsRemove``, and
``HexMaxDigitsRemove``) until the separators are removed. This divides the
literals in 3 regions, always without separator (up until including
``xxxMaxDigitsRemove``), maybe with, or without separators (up until
excluding ``xxxMinDigitsInsert``), and finally always with separators.

.. note::

``BinaryMinDigits``, ``DecimalMinDigits``, and ``HexMinDigits`` are
deprecated and renamed to ``BinaryMinDigitsInsert``,
``DecimalMinDigitsInsert``, and ``HexMinDigitsInsert``, respectively.

* ``int8_t Binary`` Format separators in binary literals.

Expand All @@ -4778,15 +4790,28 @@ the configuration (without a prefix: ``Auto``).
/* 3: */ b = 0b100'111'101'101;
/* 4: */ b = 0b1001'1110'1101;

* ``int8_t BinaryMinDigits`` Format separators in binary literals with a minimum number of digits.
* ``int8_t BinaryMinDigitsInsert`` Format separators in binary literals with a minimum number of digits.

.. code-block:: text

// Binary: 3
// BinaryMinDigits: 7
// BinaryMinDigitsInsert: 7
b1 = 0b101101;
b2 = 0b1'101'101;

* ``int8_t BinaryMaxDigitsRemove`` Remove separators in binary literals with a maximum number of digits.

.. code-block:: text

// Binary: 3
// BinaryMinDigitsInsert: 7
// BinaryMaxDigitsRemove: 4
b0 = 0b1011; // Always removed.
b1 = 0b101101; // Not added.
b2 = 0b1'01'101; // Not removed, not corrected.
b3 = 0b1'101'101; // Always added.
b4 = 0b10'1101; // Corrected to 0b101'101.

* ``int8_t Decimal`` Format separators in decimal literals.

.. code-block:: text
Expand All @@ -4795,15 +4820,28 @@ the configuration (without a prefix: ``Auto``).
/* 0: */ d = 184467'440737'0'95505'92ull;
/* 3: */ d = 18'446'744'073'709'550'592ull;

* ``int8_t DecimalMinDigits`` Format separators in decimal literals with a minimum number of digits.
* ``int8_t DecimalMinDigitsInsert`` Format separators in decimal literals with a minimum number of digits.

.. code-block:: text

// Decimal: 3
// DecimalMinDigits: 5
// DecimalMinDigitsInsert: 5
d1 = 2023;
d2 = 10'000;

* ``int8_t DecimalMaxDigitsRemove`` Remove separators in decimal literals with a maximum number of digits.

.. code-block:: text

// Decimal: 3
// DecimalMinDigitsInsert: 7
// DecimalMaxDigitsRemove: 4
d0 = 2023; // Always removed.
d1 = 123456; // Not added.
d2 = 1'23'456; // Not removed, not corrected.
d3 = 5'000'000; // Always added.
d4 = 1'23'45; // Corrected to 12'345.

* ``int8_t Hex`` Format separators in hexadecimal literals.

.. code-block:: text
Expand All @@ -4812,16 +4850,30 @@ the configuration (without a prefix: ``Auto``).
/* 0: */ h = 0xDEAD'BEEF'DE'AD'BEE'Fuz;
/* 2: */ h = 0xDE'AD'BE'EF'DE'AD'BE'EFuz;

* ``int8_t HexMinDigits`` Format separators in hexadecimal literals with a minimum number of
* ``int8_t HexMinDigitsInsert`` Format separators in hexadecimal literals with a minimum number of
digits.

.. code-block:: text

// Hex: 2
// HexMinDigits: 6
// HexMinDigitsInsert: 6
h1 = 0xABCDE;
h2 = 0xAB'CD'EF;

* ``int8_t HexMaxDigitsRemove`` Remove separators in hexadecimal literals with a maximum number of
digits.

.. code-block:: text

// Hex: 2
// HexMinDigitsInsert: 6
// HexMaxDigitsRemove: 4
h0 = 0xAFFE; // Always removed.
h1 = 0xABCDE; // Not added.
h2 = 0xABC'DE; // Not removed, not corrected.
h3 = 0xAB'CD'EF; // Always added.
h4 = 0xABCD'E; // Corrected to 0xA'BC'DE.


.. _JavaImportGroups:

Expand Down
6 changes: 5 additions & 1 deletion clang/docs/OpenMPSupport.rst
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,8 @@ implementation.
| need_device_addr modifier for adjust_args clause | :part:`partial` | :none:`unclaimed` | Parsing/Sema: https://github.com/llvm/llvm-project/pull/143442 |
| | | | https://github.com/llvm/llvm-project/pull/149586 |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| need_device_ptr modifier for adjust_args clause | :part:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| Prescriptive num_threads | :good:`done` | :none:`unclaimed` | https://github.com/llvm/llvm-project/pull/160659 |
| | | | https://github.com/llvm/llvm-project/pull/146403 |
| | | | https://github.com/llvm/llvm-project/pull/146404 |
Expand Down Expand Up @@ -631,7 +633,9 @@ implementation.
| | | | RT: @abhinavgaba (https://github.com/llvm/llvm-project/pull/149036, |
| | | | https://github.com/llvm/llvm-project/pull/158370) |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+

| need_device_ptr modifier for adjust_args clause | :part:`partial` | :none:`unclaimed` | Clang Parsing/Sema: https://github.com/llvm/llvm-project/pull/168905 |
| | | | https://github.com/llvm/llvm-project/pull/169558 |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+

OpenMP Extensions
=================
Expand Down
9 changes: 9 additions & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ Potentially Breaking Changes
- Downstream projects that previously linked only against ``clangDriver`` may
now (also) need to link against the new ``clangOptions`` library, since
options-related code has been moved out of the Driver into a separate library.
- The ``clangFrontend`` library no longer depends on ``clangDriver``, which may
break downstream projects that relied on this transitive dependency.

C/C++ Language Potentially Breaking Changes
-------------------------------------------
Expand Down Expand Up @@ -394,6 +396,7 @@ Improvements to Clang's diagnostics
- Fixed false positives in ``-Waddress-of-packed-member`` diagnostics when
potential misaligned members get processed before they can get discarded.
(#GH144729)
- Fix a false positive warning in ``-Wignored-qualifiers`` when the return type is undeduced. (#GH43054)

- Clang now emits a diagnostic with the correct message in case of assigning to const reference captured in lambda. (#GH105647)

Expand Down Expand Up @@ -701,6 +704,9 @@ clang-format
``AlignAfterOpenBracket`` option, and make ``AlignAfterOpenBracket`` a
``bool`` type.
- Add ``AlignPPAndNotPP`` suboption to ``AlignTrailingComments``.
- Rename ``(Binary|Decimal|Hex)MinDigits`` to ``...MinDigitsInsert`` and add
``(Binary|Decimal|Hex)MaxDigitsSeparator`` suboptions to
``IntegerLiteralSeparator``.

libclang
--------
Expand Down Expand Up @@ -761,6 +767,9 @@ OpenMP Support
- Updated parsing and semantic analysis support for ``nowait`` clause to accept
optional argument in OpenMP >= 60.
- Added support for ``default`` clause on ``target`` directive.
- Added parsing and semantic analysis support for ``need_device_ptr`` modifier
to accept an optional fallback argument (``fb_nullify`` or ``fb_preserve``)
with OpenMP >= 61.

Improvements
^^^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ bool isAssignmentOperatorLifetimeBound(const CXXMethodDecl *CMD);
/// method or because it's a normal assignment operator.
bool implicitObjectParamIsLifetimeBound(const FunctionDecl *FD);

// Tells whether the type is annotated with [[gsl::Pointer]].
bool isGslPointerType(QualType QT);
// Tells whether the type is annotated with [[gsl::Owner]].
bool isGslOwnerType(QualType QT);

} // namespace clang::lifetimes

#endif // LLVM_CLANG_ANALYSIS_ANALYSES_LIFETIMEANNOTATIONS_H
6 changes: 4 additions & 2 deletions clang/include/clang/Basic/BuiltinsX86.td
Original file line number Diff line number Diff line change
Expand Up @@ -2371,7 +2371,8 @@ let Features = "avx512vl",
def pternlogq256_maskz : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>, _Vector<4, long long int>, _Constant int, unsigned char)">;
}

let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>] in {
let Features = "avx512f",
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512>] in {
def shuf_f32x4 : X86Builtin<"_Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)">;
def shuf_f64x2 : X86Builtin<"_Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)">;
def shuf_i32x4 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Constant int)">;
Expand All @@ -2391,7 +2392,8 @@ let Features = "avx512f", Attributes = [NoThrow, Const, Constexpr, RequiredVecto
: X86Builtin<"_Vector<16, float>(_Vector<16, float>, _Vector<16, int>)">;
}

let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
let Features = "avx512vl",
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256>] in {
def shuf_f32x4_256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
def shuf_f64x2_256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
def shuf_i32x4_256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Constant int)">;
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/Basic/DebugOptions.def
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ DEBUGOPT(DebugKeyInstructions, 1, 0, Benign)
DEBUGOPT(DebugColumnInfo, 1, 0, Compatible) ///< Whether or not to use column information
///< in debug info.

/// Whether or not to include call site information in debug info.
DEBUGOPT(DebugCallSiteInfo, 1, 1, Benign)

DEBUGOPT(DebugTypeExtRefs, 1, 0, Compatible) ///< Whether or not debug info should contain
///< external references to a PCH or module.

Expand Down
3 changes: 0 additions & 3 deletions clang/include/clang/Basic/DiagnosticDriverKinds.td
Original file line number Diff line number Diff line change
Expand Up @@ -851,9 +851,6 @@ def warn_drv_sarif_format_unstable : Warning<
"diagnostic formatting in SARIF mode is currently unstable">,
InGroup<DiagGroup<"sarif-format-unstable">>;

def err_drv_riscv_unsupported_with_linker_relaxation : Error<
"%0 is unsupported with RISC-V linker relaxation (-mrelax)">;

def warn_drv_loongarch_conflicting_implied_val : Warning<
"ignoring '%0' as it conflicts with that implied by '%1' (%2)">,
InGroup<OptionIgnored>;
Expand Down
2 changes: 2 additions & 0 deletions clang/include/clang/Basic/DiagnosticSemaKinds.td
Original file line number Diff line number Diff line change
Expand Up @@ -8661,6 +8661,8 @@ def err_conditional_vector_size : Error<
def err_conditional_vector_element_size : Error<
"vector condition type %0 and result type %1 do not have elements of the "
"same size">;
def err_conditional_vector_scalar_type_unsupported : Error<
"scalar type %0 not supported with vector condition type %1">;
def err_conditional_vector_has_void : Error<
"GNU vector conditional operand cannot be %select{void|a throw expression}0">;
def err_conditional_vector_operand_type
Expand Down
10 changes: 10 additions & 0 deletions clang/include/clang/CIR/Dialect/IR/CIROps.td
Original file line number Diff line number Diff line change
Expand Up @@ -4612,6 +4612,16 @@ def CIR_ExpOp : CIR_UnaryFPToFPBuiltinOp<"exp", "ExpOp"> {
}];
}

def CIR_Exp2Op : CIR_UnaryFPToFPBuiltinOp<"exp2", "Exp2Op"> {
let summary = "Computes the floating-point base-2 exponential value";
let description = [{
`cir.exp2` computes the base-2 exponential of a floating-point operand and
returns a result of the same type.

Floating-point exceptions are ignored, and it does not set `errno`.
}];
}

def CIR_FAbsOp : CIR_UnaryFPToFPBuiltinOp<"fabs", "FAbsOp"> {
let summary = "Computes the floating-point absolute value";
let description = [{
Expand Down
10 changes: 0 additions & 10 deletions clang/include/clang/Driver/CommonArgs.h
Original file line number Diff line number Diff line change
Expand Up @@ -291,16 +291,6 @@ void handleVectorizeLoopsArgs(const llvm::opt::ArgList &Args,
void handleVectorizeSLPArgs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs);

// Parse -mprefer-vector-width=. Return the Value string if well-formed.
// Otherwise, return an empty string and issue a diagnosic message if needed.
StringRef parseMPreferVectorWidthOption(clang::DiagnosticsEngine &Diags,
const llvm::opt::ArgList &Args);

// Parse -mrecip. Return the Value string if well-formed.
// Otherwise, return an empty string and issue a diagnosic message if needed.
StringRef parseMRecipOption(clang::DiagnosticsEngine &Diags,
const llvm::opt::ArgList &Args);

// Convert ComplexRangeKind to a string that can be passed as a frontend option.
std::string complexRangeKindToStr(LangOptions::ComplexRangeKind Range);

Expand Down
Loading