Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
d8e0b13
[lldb][NFC] Small comment fix in Process.h
jasonmolenda Feb 7, 2025
6f50849
[webkit.UncountedLambdaCapturesChecker] Fix a regression that [[noesc…
rniwa Feb 7, 2025
0cbc498
[lldb] Make ValueObjectDynamicValue::UpdateValue() point to a host b…
augusto2112 Feb 7, 2025
003a2bf
[lldb][Darwin] Change DynamicLoaderDarwin to default to new SPI (#126…
jasonmolenda Feb 7, 2025
01ac6fc
[TableGen] Use range-based for loops. NFC
topperc Feb 7, 2025
50ae1c7
[LLDB][LoongArch] Fix build errors about NT_LOONGARCH_HW_{BREAK,WATCH…
seehearfeel Feb 7, 2025
7811c20
[ORC] Add a FIXME. NFC.
lhames Feb 7, 2025
d9500f5
[OpenMP] Fix the OpenMPOpt pass incorrectly optimizing if definition …
jhuber6 Feb 7, 2025
b00b193
[flang][cuda] Allow POINTER component to have device attribute (#126116)
clementval Feb 7, 2025
070c888
[flang][cuda] Lower syncwarp to NVVM intrinsic (#126164)
clementval Feb 7, 2025
50cdf6c
[RISCV] Allow spilling to unused Zcmp Stack (#125959)
lenary Feb 7, 2025
9cd83d6
[InstCombine] Drop samesign in `foldLogOpOfMaskedICmps` (#125829)
dtcxzyw Feb 7, 2025
99099cd
[lldb] Use Lambda to simplify repeptitive code in DynamicLoaderDarwin…
JDevlieghere Feb 7, 2025
4d3148d
[LV][EVL] Fix the check for legality of folding with EVL. (#125678)
Mel-Chen Feb 7, 2025
7fa57cd
[MLIR] Add move constructor to BytecodeWriterConfig (#126130)
karimnosseir Feb 7, 2025
d21fc58
AMDGPU: Use default shouldRewriteCopySrc (#125535)
arsenm Feb 7, 2025
a1984ec
[llvm-readobj][ELF][RISCV] Dump .note.gnu.property section contents (…
mylai-mtk Feb 7, 2025
63bb4ba
[ORC] Add ExecutionSession convenience methods to access bootstrap va…
lhames Feb 7, 2025
e2eaf8d
[ORC] Force eh-frame use for older Darwins on x86-64 in MachOPlatform…
lhames Feb 7, 2025
083686d
[gn build] Port e2eaf8ded785
llvmgnsyncbot Feb 7, 2025
9b8297b
[analyzer] Do not destruct fields of unions (#122330)
vtjnash Feb 7, 2025
35afd02
[X86][GlobalISel] Support G_FCMP for scalar cases (#123598)
mahesh-attarde Feb 7, 2025
b7feccb
[memprof] Dump call site matching information (#125130)
kazutakahirata Feb 7, 2025
74192e5
[X86] Silence an unused-variable warning (NFC)
DamonFool Feb 7, 2025
6b902ef
[mlir][linalg] Add support for masked vectorization of `tensor.insert…
banach-space Feb 7, 2025
ac640a2
[Wunsafe-buffer-usage] Add additional tests to esnure safe accesses t…
malavikasamak Feb 7, 2025
e346d47
[mlir][vector] Categorize Vector-to-LLVM conversion tests (nfc) (#125…
banach-space Feb 7, 2025
83783e8
[RISCV] Fix typos discovered by codespell (NFC) (#126191)
svs-quic Feb 7, 2025
26ecddb
[libclc] Allow default path when looking for llvm-spirv (#126071)
nikic Feb 7, 2025
15e50b1
[mlir][IR] Clean up type constraints around `ValueSemanticsContainerO…
matthias-springer Feb 7, 2025
ac158aa
[LoopVectorizer] Allow partial reductions to be made in predicated lo…
JamesChesterman Feb 7, 2025
4bf97aa
[IR] Add `llvm.modf` intrinsic (#121948)
MacDue Feb 7, 2025
1608fe8
[lldb][Breakpoint] Allow whitespace in breakpoint address expression …
Michael137 Feb 7, 2025
e00fc80
[clang][DebugInfo] Set EnumKind based on enum_extensibility attribute…
Michael137 Feb 7, 2025
7aeae73
[lldb][TypeSystemClang] Fix typo in assertion
Michael137 Feb 7, 2025
1930524
[LoopVectorize] Fix cost model assert when vectorising calls (#125716)
david-arm Feb 7, 2025
9d83790
[lldb] Fix build error in ValueObject test
DavidSpickett Feb 7, 2025
3872e55
[LoopVectorize] Fix build error (#126218)
david-arm Feb 7, 2025
6424abc
[AArch64] Enable AvoidLDAPUR for cpu=generic between armv8.4 and armv…
davemgreen Feb 7, 2025
52db30e
[lldb] Fix compiler error in ValueObject tests
DavidSpickett Feb 7, 2025
612df14
[Clang][Driver] Add an option to control loop-interchange (#125830)
sjoerdmeijer Feb 7, 2025
98e118c
[Flang] Don't use FortranDecimal for runtime (#121997)
Meinersbur Feb 7, 2025
c269182
[lldb][TypeSystemClang] Initialize ClassTemplateSpecializationDecl's …
Michael137 Feb 7, 2025
ae08969
[IndVars] Add test for #126012 (NFC)
nikic Feb 7, 2025
83ba374
[lldb] Clear cached unwind plans when adding symbols (#125839)
labath Feb 7, 2025
191d7d6
[Offload] Fix assumptions on symbols after #124846 (#126238)
jplehr Feb 7, 2025
60cc48d
[libc++] Refactor strings operator+ tests
philnik777 Feb 7, 2025
52b5947
SCEV: re-org a test, regen via UTC (#126237)
artagnon Feb 7, 2025
1454fc9
[mlir][spirv] Add definition for OpGroupNonUniformBallotBitCount (#12…
IgWod-IMG Feb 7, 2025
a69975d
[clang][bytecode] Remove unnecessary if statement (#126223)
tbaederr Feb 7, 2025
7f21c77
ValueTracking: modernize isKnownInversion (NFC) (#126234)
artagnon Feb 7, 2025
2a6cfbd
[clang] [test] Adjust XFAILs for windows in unique_object_duplication…
mstorsjo Feb 7, 2025
3fdb348
[LangRef] Fix some formatting issues (NFC) (#126224)
MacDue Feb 7, 2025
991123f
[X86] Add test where storing return addr clobbers argument stack slot.
fhahn Feb 7, 2025
b51fc2a
[flang] Modifications to ieee_support_standard (#125967)
vdonaldson Feb 7, 2025
cfd8980
[SPIRV] Handle vector load/store for RWBuffer (#125581)
s-perron Feb 7, 2025
a361de6
[RDF] Create phi nodes for clobbering defs (#123694)
yandalur Feb 7, 2025
1f2c36a
[ARM] Reject fixed-point VCVT with different registers (#126232)
ostannard Feb 7, 2025
b284a84
[MLIR][NVVM] Add default constructor for `nvvm.barrier` [NFC] (#126225)
grypp Feb 7, 2025
0227396
Revert "[libc++] Reduce std::conjunction overhead (#124259)"
philnik777 Feb 7, 2025
c8b2ba7
[LLD][COFF] Add test for hybrid patchable thunks on ARM64X (NFC) (#12…
cjacek Feb 7, 2025
abd31b4
[LLD][MinGW] Exclude load config symbols from auto-export (#126134)
cjacek Feb 7, 2025
2b43543
[AMDGPU][True16][MC][CodeGen] true16 for v_alignbyte_b32 (#125706)
broxigarchen Feb 7, 2025
79e9887
[flang] test fix (#126251)
vdonaldson Feb 7, 2025
27598ab
[libc++] Further refactor sequence container benchmarks (#126129)
ldionne Feb 7, 2025
1611059
[VPlan] Compute cost for binary op VPInstruction with underlying valu…
fhahn Feb 7, 2025
1f67070
[ViewOpGraph] Improve GraphViz output (#125509)
ehein6 Feb 7, 2025
289b176
[SPIRV] Fix a warning
kazutakahirata Feb 7, 2025
46f5662
[Hexagon] Avoid repeated map lookups (NFC) (#126185)
kazutakahirata Feb 7, 2025
dbb20fc
[ObjectYAML] Avoid repeated hash lookups (NFC) (#126187)
kazutakahirata Feb 7, 2025
80a4718
[GVNHoist] Avoid repeated hash lookups (NFC) (#126189)
kazutakahirata Feb 7, 2025
0afbefa
[TableGen] Avoid repeated hash lookups (NFC) (#126190)
kazutakahirata Feb 7, 2025
d017042
[emacs][clang-format] Suppress reference to free variable errors (#12…
gutron Feb 7, 2025
247430e
[bazel] Temporarily disable a broken LookupAddressRangeWithStmtSequen…
hokein Feb 7, 2025
4c7cbb9
[flang] update PPC vector tests (NFC) (#126256)
kkwli Feb 7, 2025
2c43479
[AArch64] Fix op mask detection in performZExtDeinterleaveShuffleComb…
davemgreen Feb 7, 2025
f304049
[NVPTX] Add tcgen05 wait/fence/commit intrinsics (#126091)
durga4github Feb 7, 2025
1438c8d
[Fuchsia] Support PGO (#120323)
petrhosek Feb 7, 2025
4d7192a
[clang][doc] Provide documentation for FixedPointLiteral matcher (#12…
earnol Feb 7, 2025
3f8e280
[HLSL] Implement HLSL Elementwise casting (excluding splat cases); Re…
spall Feb 7, 2025
c4c22a5
[Clang][TableGen] Use PointerType::get(Context) in MVE TableGen emitt…
junlarsen Feb 7, 2025
92eeff4
[Clang] Forward `-Xarch_<arch> -Wl,foo` for GPU toolchains (#126248)
jhuber6 Feb 7, 2025
51759ff
fix: removes invalid token from LLVM_VERSION_SUFFIX in LIBC namespace…
samvangysegem Feb 7, 2025
7eaaa4e
[BoundsSafety][doc] Fix formatting (#126245)
pfusik Feb 7, 2025
bfba621
[clang-linker-wrapper][lit] Fix OpenMP SPIR-V ELF test again (#126142)
sarnex Feb 7, 2025
6832514
[mlir][Vector] Fold `vector.extract` from poison vector (#126122)
dcaballe Feb 7, 2025
571a987
[mlir][tosa] Change 'shape' of RESHAPE from attribute to input shape …
tatwaichong Feb 7, 2025
7aabbf2
[llvm][ELF] Separate out .dwo bytes written in stats (#126165)
aeubanks Feb 7, 2025
5a0075a
[mlir][Vector] Generate poison vectors in vector.shape_cast lowering …
dcaballe Feb 7, 2025
e566313
[libc][signal] clean up usage of sighandler_t (#125745)
nickdesaulniers Feb 7, 2025
2c4dd89
[mlir][Vector] Introduce poison in LowerVectorBitCast/Broadcast/Trans…
dcaballe Feb 7, 2025
f2a1103
[libc][stdfix] Implement fixed point `countlsfx` functions in llvm-li…
krishna2803 Feb 7, 2025
5566bfa
[RISCV] Improve RISCVOperand Printing (#126179)
lenary Feb 7, 2025
501901e
[HLSL][NFC] Add test check to make sure the resource handle gets stor…
hekota Feb 7, 2025
73f11ac
[mlir][tosa] Use explicit namespace for OpTrait. (#126286)
ScottTodd Feb 7, 2025
4df287a
[bazel] Add missing dependency for 5a0075adbb623c8661862b9af1272b8f43…
d0k Feb 7, 2025
479ffe8
[OpenMP] Fix Xarch OpenMP test on Windows
jhuber6 Feb 7, 2025
8a03658
[mlir][xegpu] Tensor descriptor type verifier (#124548)
adam-smnk Feb 7, 2025
605a9e3
[OpenMP] Fix infinite loop on recursive initializers (#126269)
jhuber6 Feb 7, 2025
d705e7e
[NFC][TableGen] Code cleanup in CodeGenMapTable `EmitMapTable` (#126157)
jurahul Feb 7, 2025
7abca75
[Index] Skip adding call relations to deduction guides (#126151)
bnbarham Feb 7, 2025
bada922
[libc][stdfix] Fix buildbot failure because of a typo. (#126291)
krishna2803 Feb 7, 2025
6ef978b
[clang][ExtractAPI] combine typedef records if the underlying type's …
QuietMisdreavus Feb 7, 2025
7623d91
Revert "[libc][stdfix] Fix buildbot failure because of a typo. (#1262…
jhuber6 Feb 7, 2025
dee2092
[libc][test] `-Wimplicit-fallthrough`, `-Wwrite-strings` and non-GCC …
vinay-deshmukh Feb 7, 2025
cea799a
[LV] Add ordered reduction test with live-in.
fhahn Feb 7, 2025
fb1216e
[NFC][GlobalISel] Minor cleanup in LegalityQuery constructors (#126285)
jurahul Feb 7, 2025
6e59888
workflows/premerge: Move concurrency definition to workflow level (#1…
tstellar Feb 7, 2025
2e0c093
[gn] fix bug in bfba6215cec2
nico Feb 7, 2025
8b12acd
[mlir][vector][spirv] Handle 1-element vector.{load|store} lowering. …
mshahneo Feb 7, 2025
427b24a
[compiler-rt][rtsan] adding readlink(at) interception (#126262)
devnexen Feb 7, 2025
6dbe542
[libc] Use `${libc_opt_high_flag}` instead of `-O3` (#123233)
petrhosek Feb 7, 2025
addbb44
[LinkerWrapper] Clean up options after proper forwarding (#126297)
jhuber6 Feb 7, 2025
76985fd
[DXIL] Adding support to RootSignatureFlags in obj2yaml (#122396)
joaosaffran Feb 7, 2025
756dab4
[gn build] Port 76985fd7cafd
llvmgnsyncbot Feb 7, 2025
170cdad
[libc] Exercise all CMake build types in GitHub Action workflows (#12…
petrhosek Feb 7, 2025
898112e
[OpenMP][Docs] Update OpenMP supported features table (#126292)
ddpagan Feb 7, 2025
51e7dc8
Use explicit unsigned literals to fix mixed sign comparisons
dwblaikie Feb 7, 2025
343bbda
Use a stable sort to handle overlapping/duplicate line sequences
dwblaikie Feb 7, 2025
e6e8ac5
[Flang] Optionally do not compile the runtime in-tree (#122336)
Meinersbur Feb 8, 2025
3e2afe5
Revert "[Fuchsia] Support PGO" (#126293)
ilovepi Feb 8, 2025
7464dc8
[RISCV] Include RISCVGenSearchTable.inc in RISCVISelDAGToDAG.h (#126326)
mshockwave Feb 8, 2025
51ba981
[libc++][test] Fix `size_type` issues with `MinSequenceContainer` and…
frederick-vs-ja Feb 8, 2025
12a154a
[libunwind] Unwind through loongarch64/Linux sigreturn frame (#123682)
Ami-zhang Feb 8, 2025
ff79d83
[LLDB][LoongArch] Extend the maximum number of watchpoints (#126204)
seehearfeel Feb 8, 2025
b850ce4
[MLIR][Affine] Fix private memref creation bug in affine fusion (#126…
bondhugula Feb 8, 2025
9d5edc9
[lldb][NFC] Replace GetLocalBufferSize() with GetLocalBuffer() (#126333)
augusto2112 Feb 8, 2025
de12bf5
[RISCV] Refactor tablegen classes to push common values down to VPseu…
topperc Feb 8, 2025
e0a21e2
[clang-format] Add BinPackLongBracedList style option (#112482)
gedare Feb 8, 2025
6f241e3
[Clang][Sema] Fix wrong initialization kind when handling initializin…
zwuis Feb 8, 2025
1c497c4
[CodeGen] Avoid repeated hash lookups (NFC) (#126343)
kazutakahirata Feb 8, 2025
dbe8122
[TableGen] Avoid repeated hash lookups (NFC) (#126344)
kazutakahirata Feb 8, 2025
5901bda
[Vectorize] Avoid repeated hash lookups (NFC) (#126345)
kazutakahirata Feb 8, 2025
95922d8
[dsymutil] Avoid repeated hash lookups (NFC) (#126190) (#126346)
kazutakahirata Feb 8, 2025
027aa70
[TOSA] Fix negate maxValue computation (#126295)
RoboTux Feb 8, 2025
564b9b7
Revert "CodeGen][NewPM] Port MachineScheduler to NPM. (#125703)" (#12…
optimisan Feb 8, 2025
16df836
[VPlan] Mark hasVF & hasScalableVF as const (NFC).
fhahn Feb 8, 2025
0cdb467
[lldb][TypeSystemClang] Create EnumExtensibilityAttr from DW_AT_APPLE…
Michael137 Feb 8, 2025
ee80664
[VPlan] Consistently use hasScalarVFOnly (NFC).
fhahn Feb 8, 2025
66bea0d
[llvm-objcopy] Fix prints wrong path when dump-section output path do…
AmrDeveloper Feb 8, 2025
ef23ba7
[Support] Re-raise external signals (#125854)
guy-david Feb 8, 2025
4e29148
[CodeGen][XCore] Replace PointerType::getUnqual(Type) with opaque ver…
junlarsen Feb 8, 2025
54e0c2b
[CodeGen][SystemZ] Replace PointerType::getUnqual(Type) with opaque v…
junlarsen Feb 8, 2025
df2e8ee
[CodeGen][AArch64] Replace PointerType::getUnqual(Type) with opaque v…
junlarsen Feb 8, 2025
6ff8a06
[VPlan] Run recipe removal and simplification after optimizeForVFAndU…
fhahn Feb 8, 2025
e0fee55
[CodeGen] Replace of PointerType::get(Type) with opaque version (NFC)…
junlarsen Feb 8, 2025
a07928c
[CodeGen][Hexagon] Replace PointerType::getUnqual(Type) with opaque v…
junlarsen Feb 8, 2025
101b3ff
[RISCV][NFC] Adopt DiagnosticString interface (#126290)
lenary Feb 8, 2025
2feced1
[MLIR][NVVM] Add tcgen05 wait/fence Ops (#126265)
durga4github Feb 8, 2025
69b8cf4
[SandboxVec][BottomUpVec] Add cost estimation and tr-accept-or-revert…
Feb 8, 2025
40ce8fd
[gn build] Port 69b8cf4f0621
llvmgnsyncbot Feb 8, 2025
5c8c2b3
[Flang] Rename libFortranRuntime.a to libflang_rt.runtime.a (#122341)
Meinersbur Feb 8, 2025
7f2f905
[SandboxVec] Fix: Add missing lit.local.cfg for target test
Feb 8, 2025
9266b48
[VPlan] Add outer loop tests with wide phis in inner loop.
fhahn Feb 8, 2025
ca9c048
[ARM] Silence "enumerated and non-enumerated type in conditional expr…
davemgreen Feb 8, 2025
4510071
[Analysis] Avoid repeated hash lookups (NFC) (#126378)
kazutakahirata Feb 8, 2025
2fee5ef
[ByteCode] Avoid repeated hash lookups (NFC) (#126379)
kazutakahirata Feb 8, 2025
7628fcf
[CrossTU] Avoid repeated hash lookups (NFC) (#126380)
kazutakahirata Feb 8, 2025
cf5947b
[TableGen] Avoid repeated map lookups (NFC) (#126381)
kazutakahirata Feb 8, 2025
1e0a489
[BOLT] Resolve symlink for library lookup (#126386)
yozhu Feb 8, 2025
8e61aae
[profile] Add a clang option -fprofile-continuous that enables contin…
w2yehia Feb 8, 2025
fec6d16
[lldb] Upstream a few remaining Triple::XROS patches (#126335)
jasonmolenda Feb 8, 2025
f925040
[TableGen] Move formation of MoveSiblingMatcher earlier in ContractNo…
topperc Feb 8, 2025
4aa71f0
[TableGen] Fix an unused variable warning. NFC
topperc Feb 9, 2025
8cf8f52
[flang] Handle !dir$ unroll [01]
ashermancinelli Feb 7, 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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/workflows/libc-fullbuild-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, MinSizeRel]
include:
- os: ubuntu-24.04
ccache-variant: sccache
Expand Down Expand Up @@ -68,7 +69,7 @@ jobs:
cmake -B ${{ steps.strings.outputs.build-output-dir }}
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_BUILD_TYPE=MinSizeRel
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.build-install-dir }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/libc-overlay-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations.
fail-fast: false
matrix:
build_type: [Debug, Release, MinSizeRel]
include:
# TODO: add linux gcc when it is fixed
- os: ubuntu-24.04
Expand Down Expand Up @@ -95,7 +96,7 @@ jobs:
cmake -B ${{ steps.strings.outputs.build-output-dir }}
-DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp_compiler }}
-DCMAKE_C_COMPILER=${{ matrix.compiler.c_compiler }}
-DCMAKE_BUILD_TYPE=MinSizeRel
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_POLICY_DEFAULT_CMP0141=NEW
Expand Down
13 changes: 4 additions & 9 deletions .github/workflows/premerge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,16 @@ on:
- 'main'
- 'release/**'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
premerge-checks-linux:
if: >-
github.repository_owner == 'llvm' &&
(github.event_name != 'pull_request' || github.event.action != 'closed')
runs-on: llvm-premerge-linux-runners
concurrency:
group: ${{ github.workflow }}-linux-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
steps:
- name: Checkout LLVM
uses: actions/checkout@v4
Expand Down Expand Up @@ -88,9 +89,6 @@ jobs:
github.repository_owner == 'llvm' &&
(github.event_name != 'pull_request' || github.event.action != 'closed')
runs-on: llvm-premerge-windows-runners
concurrency:
group: ${{ github.workflow }}-windows-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
defaults:
run:
shell: bash
Expand Down Expand Up @@ -148,9 +146,6 @@ jobs:

permerge-check-macos:
runs-on: macos-14
concurrency:
group: ${{ github.workflow }}-macos-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
if: >-
github.repository_owner == 'llvm' &&
(startswith(github.ref_name, 'release/') ||
Expand Down
18 changes: 18 additions & 0 deletions bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "llvm/Object/Archive.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Program.h"

#define DEBUG_TYPE "bolt-rtlib"

Expand All @@ -38,6 +39,23 @@ std::string RuntimeLibrary::getLibPathByToolPath(StringRef ToolPath,
llvm::sys::path::append(LibPath, "lib" LLVM_LIBDIR_SUFFIX);
}
llvm::sys::path::append(LibPath, LibFileName);
if (!llvm::sys::fs::exists(LibPath)) {
// If it is a symlink, check the directory that the symlink points to.
if (llvm::sys::fs::is_symlink_file(ToolPath)) {
SmallString<256> RealPath;
llvm::sys::fs::real_path(ToolPath, RealPath);
if (llvm::ErrorOr<std::string> P =
llvm::sys::findProgramByName(RealPath)) {
outs() << "BOLT-INFO: library not found: " << LibPath << "\n"
<< "BOLT-INFO: " << ToolPath << " is a symlink; will look up "
<< LibFileName
<< " at the target directory that the symlink points to\n";
return getLibPath(*P, LibFileName);
}
}
errs() << "BOLT-ERROR: library not found: " << LibPath << "\n";
exit(1);
}
return std::string(LibPath);
}

Expand Down
7 changes: 4 additions & 3 deletions clang/docs/BoundsSafety.rst
Original file line number Diff line number Diff line change
Expand Up @@ -959,7 +959,8 @@ that has the define.
#if defined(__has_feature) && __has_feature(bounds_safety)
#define __counted_by(T) __attribute__((__counted_by__(T)))
// ... other bounds annotations
#else #define __counted_by(T) // defined as nothing
#else
#define __counted_by(T) // defined as nothing
// ... other bounds annotations
#endif

Expand Down Expand Up @@ -987,7 +988,7 @@ and it does not guarantee other types of memory safety properties. Consequently,
it may not prevent some of the secondary bounds safety violations caused by
other types of safety violations such as type confusion. For instance,
``-fbounds-safety`` does not perform type-safety checks on conversions between
`__single`` pointers of different pointee types (e.g., ``char *__single`` →
``__single`` pointers of different pointee types (e.g., ``char *__single`` →
``void *__single`` → ``int *__single``) beyond what the foundation languages
(C/C++) already offer.

Expand All @@ -1003,4 +1004,4 @@ Try it out

Your feedback on the programming model is valuable. You may want to follow the
instruction in :doc:`BoundsSafetyAdoptionGuide` to play with ``-fbounds-safety``
and please send your feedback to `Yeoul Na <mailto:[email protected]>`_.
and please send your feedback to `Yeoul Na <mailto:[email protected]>`_.
18 changes: 18 additions & 0 deletions clang/docs/ClangFormatStyleOptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2182,6 +2182,24 @@ the configuration (without a prefix: ``Auto``).
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
}

.. _BinPackLongBracedList:

**BinPackLongBracedList** (``Boolean``) :versionbadge:`clang-format 21` :ref:`¶ <BinPackLongBracedList>`
If ``BinPackLongBracedList`` is ``true`` it overrides
``BinPackArguments`` if there are 20 or more items in a braced
initializer list.

.. code-block:: c++

BinPackLongBracedList: false vs. BinPackLongBracedList: true
vector<int> x{ vector<int> x{1, 2, ...,
20, 21};
1,
2,
...,
20,
21};

.. _BinPackParameters:

**BinPackParameters** (``BinPackParametersStyle``) :versionbadge:`clang-format 3.7` :ref:`¶ <BinPackParameters>`
Expand Down
8 changes: 3 additions & 5 deletions clang/docs/OpenMPSupport.rst
Original file line number Diff line number Diff line change
Expand Up @@ -416,9 +416,9 @@ implementation.
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| safe_sync and progress with identifier and API | :none:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| OpenMP directives in concurrent loop regions | :none:`unclaimed` | :none:`unclaimed` | |
| OpenMP directives in concurrent loop regions | :good:`done` | :none:`unclaimed` | https://github.com/llvm/llvm-project/pull/125621 |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| atomics constructs on concurrent loop regions | :none:`unclaimed` | :none:`unclaimed` | |
| atomics constructs on concurrent loop regions | :good:`done` | :none:`unclaimed` | https://github.com/llvm/llvm-project/pull/125621 |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| Loop construct with DO CONCURRENT | :none:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
Expand Down Expand Up @@ -456,9 +456,7 @@ implementation.
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| map-type modifiers in arbitrary position | :none:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| atomic constructs in loop region | :none:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| Lift nesting restriction on concurrent loop | :none:`unclaimed` | :none:`unclaimed` | |
| Lift nesting restriction on concurrent loop | :good:`done` | :none:`unclaimed` | https://github.com/llvm/llvm-project/pull/125621 |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
| priority clause for target constructs | :none:`unclaimed` | :none:`unclaimed` | |
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
Expand Down
5 changes: 5 additions & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ Improvements to Clang's diagnostics
- The ``-Wunique-object-duplication`` warning has been added to warn about objects
which are supposed to only exist once per program, but may get duplicated when
built into a shared library.
- Fixed a bug where Clang's Analysis did not correctly model the destructor behavior of ``union`` members (#GH119415).

Improvements to Clang's time-trace
----------------------------------
Expand All @@ -150,6 +151,8 @@ Bug Fixes to C++ Support
^^^^^^^^^^^^^^^^^^^^^^^^

- Clang is now better at keeping track of friend function template instance contexts. (#GH55509)
- The initialization kind of elements of structured bindings
direct-list-initialized from an array is corrected to direct-initialization.

Bug Fixes to AST Handling
^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -236,6 +239,8 @@ clang-format
------------

- Adds ``BreakBeforeTemplateCloser`` option.
- Adds ``BinPackLongBracedList`` option to override bin packing options in
long (20 item or more) braced list initializer lists.

libclang
--------
Expand Down
18 changes: 18 additions & 0 deletions clang/docs/UsersManual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3125,6 +3125,24 @@ indexed format, regardeless whether it is produced by frontend or the IR pass.
overhead. ``prefer-atomic`` will be transformed to ``atomic`` when supported
by the target, or ``single`` otherwise.

.. option:: -fprofile-continuous

Enables the continuous instrumentation profiling where profile counter updates
are continuously synced to a file. This option sets any neccessary modifiers
(currently ``%c``) in the default profile filename and passes any necessary
flags to the middle-end to support this mode. Value profiling is not supported
in continuous mode.

.. code-block:: console

$ clang++ -O2 -fprofile-generate -fprofile-continuous code.cc -o code

Running ``./code`` will collect the profile and write it to the
``default_xxxx.profraw`` file. However, if ``./code`` abruptly terminates or
does not call ``exit()``, in continuous mode the profile collected up to the
point of termination will be available in ``default_xxxx.profraw`` while in
the non-continuous mode, no profile file is generated.

.. option:: -ftemporal-profile

Enables the temporal profiling extension for IRPGO to improve startup time by
Expand Down
2 changes: 2 additions & 0 deletions clang/include/clang/AST/DeclTemplate.h
Original file line number Diff line number Diff line change
Expand Up @@ -1960,6 +1960,8 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl,

bool hasStrictPackMatch() const { return StrictPackMatch; }

void setStrictPackMatch(bool Val) { StrictPackMatch = Val; }

/// Get the point of instantiation (if any), or null if none.
SourceLocation getPointOfInstantiation() const {
return PointOfInstantiation;
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 @@ -367,6 +367,9 @@ CAST_OPERATION(HLSLVectorTruncation)
// Non-decaying array RValue cast (HLSL only).
CAST_OPERATION(HLSLArrayRValue)

// Aggregate by Value cast (HLSL only).
CAST_OPERATION(HLSLElementwiseCast)

//===- Binary Operations -------------------------------------------------===//
// Operators listed in order of precedence.
// Note that additions to this should also update the StmtVisitor class,
Expand Down
23 changes: 22 additions & 1 deletion clang/include/clang/ASTMatchers/ASTMatchers.h
Original file line number Diff line number Diff line change
Expand Up @@ -2489,7 +2489,28 @@ extern const internal::VariadicDynCastAllOfMatcher<Stmt, FloatingLiteral>
extern const internal::VariadicDynCastAllOfMatcher<Stmt, ImaginaryLiteral>
imaginaryLiteral;

/// Matches fixed point literals
/// Matches fixed-point literals eg.
/// 0.5r, 0.5hr, 0.5lr, 0.5uhr, 0.5ur, 0.5ulr
/// 1.0k, 1.0hk, 1.0lk, 1.0uhk, 1.0uk, 1.0ulk
/// Exponents 1.0e10k
/// Hexadecimal numbers 0x0.2p2r
///
/// Does not match implicit conversions such as first two lines:
/// \code
/// short _Accum sa = 2;
/// _Accum a = 12.5;
/// _Accum b = 1.25hk;
/// _Fract c = 0.25hr;
/// _Fract v = 0.35uhr;
/// _Accum g = 1.45uhk;
/// _Accum decexp1 = 1.575e1k;
/// \endcode
/// \compile_args{-ffixed-point;-std=c99}
///
/// The matcher \matcher{fixedPointLiteral()} matches
/// \match{1.25hk}, \match{0.25hr}, \match{0.35uhr},
/// \match{1.45uhk}, \match{1.575e1k}, but does not
/// match \nomatch{12.5} and \nomatch{2} from the code block.
extern const internal::VariadicDynCastAllOfMatcher<Stmt, FixedPointLiteral>
fixedPointLiteral;

Expand Down
2 changes: 2 additions & 0 deletions clang/include/clang/Basic/CodeGenOptions.def
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ AFFECTING_VALUE_CODEGENOPT(OptimizationLevel, 2, 0) ///< The -O[0-3] option spec
AFFECTING_VALUE_CODEGENOPT(OptimizeSize, 2, 0) ///< If -Os (==1) or -Oz (==2) is specified.

CODEGENOPT(AtomicProfileUpdate , 1, 0) ///< Set -fprofile-update=atomic
CODEGENOPT(ContinuousProfileSync, 1, 0) ///< Enable continuous instrumentation profiling
/// Choose profile instrumenation kind or no instrumentation.
ENUM_CODEGENOPT(ProfileInstr, ProfileInstrKind, 2, ProfileNone)
/// Choose profile kind for PGO use compilation.
Expand Down Expand Up @@ -320,6 +321,7 @@ CODEGENOPT(TimePassesPerRun , 1, 0) ///< Set when -ftime-report=per-pass-run is
CODEGENOPT(TimeTrace , 1, 0) ///< Set when -ftime-trace is enabled.
VALUE_CODEGENOPT(TimeTraceGranularity, 32, 500) ///< Minimum time granularity (in microseconds),
///< traced by time profiler
CODEGENOPT(InterchangeLoops , 1, 0) ///< Run loop-interchange.
CODEGENOPT(UnrollLoops , 1, 0) ///< Control whether loops are unrolled.
CODEGENOPT(RerollLoops , 1, 0) ///< Control whether loops are rerolled.
CODEGENOPT(NoUseJumpTables , 1, 0) ///< Set when -fno-jump-tables is enabled.
Expand Down
9 changes: 9 additions & 0 deletions clang/include/clang/Driver/Options.td
Original file line number Diff line number Diff line change
Expand Up @@ -1795,6 +1795,11 @@ def fprofile_update_EQ : Joined<["-"], "fprofile-update=">,
Values<"atomic,prefer-atomic,single">,
MetaVarName<"<method>">, HelpText<"Set update method of profile counters">,
MarshallingInfoFlag<CodeGenOpts<"AtomicProfileUpdate">>;
def fprofile_continuous : Flag<["-"], "fprofile-continuous">,
Group<f_Group>, Visibility<[ClangOption, CC1Option]>,
HelpText<"Enable continuous instrumentation profiling mode">,
MarshallingInfoFlag<CodeGenOpts<"ContinuousProfileSync">>;

defm pseudo_probe_for_profiling : BoolFOption<"pseudo-probe-for-profiling",
CodeGenOpts<"PseudoProbeForProfiling">, DefaultFalse,
PosFlag<SetTrue, [], [ClangOption], "Emit">,
Expand Down Expand Up @@ -4069,6 +4074,10 @@ def ftrap_function_EQ : Joined<["-"], "ftrap-function=">, Group<f_Group>,
Visibility<[ClangOption, CC1Option]>,
HelpText<"Issue call to specified function rather than a trap instruction">,
MarshallingInfoString<CodeGenOpts<"TrapFuncName">>;
def floop_interchange : Flag<["-"], "floop-interchange">, Group<f_Group>,
HelpText<"Enable the loop interchange pass">, Visibility<[ClangOption, CC1Option]>;
def fno_loop_interchange: Flag<["-"], "fno-loop-interchange">, Group<f_Group>,
HelpText<"Disable the loop interchange pass">, Visibility<[ClangOption, CC1Option]>;
def funroll_loops : Flag<["-"], "funroll-loops">, Group<f_Group>,
HelpText<"Turn on loop unroller">, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>;
def fno_unroll_loops : Flag<["-"], "fno-unroll-loops">, Group<f_Group>,
Expand Down
25 changes: 24 additions & 1 deletion clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
Original file line number Diff line number Diff line change
Expand Up @@ -1146,11 +1146,29 @@ bool ExtractAPIVisitorBase<Derived>::VisitTypedefNameDecl(

StringRef Name = Decl->getName();

auto nameMatches = [&Name](TagDecl *TagDecl) {
StringRef TagName = TagDecl->getName();

if (TagName == Name)
return true;

// Also check whether the tag decl's name is the same as the typedef name
// with prefixed underscores
if (TagName.starts_with('_')) {
StringRef StrippedName = TagName.ltrim('_');

if (StrippedName == Name)
return true;
}

return false;
};

// If the underlying type was defined as part of the typedef modify it's
// fragments directly and pretend the typedef doesn't exist.
if (auto *TagDecl = Decl->getUnderlyingType()->getAsTagDecl()) {
if (TagDecl->isEmbeddedInDeclarator() && TagDecl->isCompleteDefinition() &&
Decl->getName() == TagDecl->getName()) {
nameMatches(TagDecl)) {
SmallString<128> TagUSR;
index::generateUSRForDecl(TagDecl, TagUSR);
if (auto *Record = API.findRecordForUSR(TagUSR)) {
Expand All @@ -1164,6 +1182,11 @@ bool ExtractAPIVisitorBase<Derived>::VisitTypedefNameDecl(
.append(Name, DeclarationFragments::FragmentKind::Identifier)
.appendSemicolon();

// Replace the name and subheading in case it's underscored so we can
// use the non-underscored version
Record->Name = Name;
Record->SubHeading = DeclarationFragmentsBuilder::getSubHeading(Decl);

return true;
}
}
Expand Down
17 changes: 17 additions & 0 deletions clang/include/clang/Format/Format.h
Original file line number Diff line number Diff line change
Expand Up @@ -1212,6 +1212,22 @@ struct FormatStyle {
/// \version 3.7
bool BinPackArguments;

/// If ``BinPackLongBracedList`` is ``true`` it overrides
/// ``BinPackArguments`` if there are 20 or more items in a braced
/// initializer list.
/// \code
/// BinPackLongBracedList: false vs. BinPackLongBracedList: true
/// vector<int> x{ vector<int> x{1, 2, ...,
/// 20, 21};
/// 1,
/// 2,
/// ...,
/// 20,
/// 21};
/// \endcode
/// \version 21
bool BinPackLongBracedList;

/// Different way to try to fit all parameters on a line.
enum BinPackParametersStyle : int8_t {
/// Bin-pack parameters.
Expand Down Expand Up @@ -5266,6 +5282,7 @@ struct FormatStyle {
R.AlwaysBreakBeforeMultilineStrings &&
AttributeMacros == R.AttributeMacros &&
BinPackArguments == R.BinPackArguments &&
BinPackLongBracedList == R.BinPackLongBracedList &&
BinPackParameters == R.BinPackParameters &&
BitFieldColonSpacing == R.BitFieldColonSpacing &&
BracedInitializerIndentWidth == R.BracedInitializerIndentWidth &&
Expand Down
Loading
Loading