Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[clang] Add flag to experiment with cold function attributes #88793

Closed
wants to merge 301 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
301 commits
Select commit Hold shift + click to select a range
5a46123
Fix missing dtor in function calls accepting trivial ABI structs (#88…
usx95 Apr 16, 2024
9141e1c
[clang][Interp] Gracefully handle bitcasts to non-primitive types
tbaederr Apr 12, 2024
4fc0a99
[AMDGPU] Fix implicit operands of VOPD cndmask instructions (#87788)
jayfoad Apr 16, 2024
f4f772c
[AMDGPU] Stop reserving $vcc_hi in wave32 mode (#87783)
jayfoad Apr 16, 2024
485d556
[clang][Interp][NFC] Add Block::dump()
tbaederr Apr 13, 2024
80fce05
[InstCombine] Fold `minmax (X & NegPow2C, Y & NegPow2C) -> minmax(X, …
dtcxzyw Apr 16, 2024
cce026b
[mlir][test] Fix -Wsign-compare in TestDialect.cpp (NFC)
DamonFool Apr 16, 2024
58b49ce
[clang][Interp] Support __builtin_vectorelements
tbaederr Apr 13, 2024
70fe6ad
[MLIR][OpenMP] Make omp.distribute into a loop wrapper (#87239)
skatrak Apr 16, 2024
668a58b
[flang][runtime] Add ACCESS library procedure (#88517)
tblah Apr 16, 2024
76782e2
[Flang][OpenMP] NFC: Remove old reduction lowering code (#88798)
kiranchandramohan Apr 16, 2024
61717c1
[Verifier] Reject va_start in non-variadic function (#88809)
JonChesterfield Apr 16, 2024
1ca6b44
[mlir][scf] `scf.while` uplifting: optimize op matching (#88813)
Hardcode84 Apr 16, 2024
aae08f4
[MLIR][OpenMP] Make omp.taskloop into a loop wrapper (#87253)
skatrak Apr 16, 2024
ca4cf97
[clang][Interp][NFC] Fix Pointer::isZero() for block pointers
tbaederr Apr 15, 2024
422bf13
[AMDGPU] In VectorLegalizer::Expand, if UnrollVectorOp returns Load, …
choikwa Apr 16, 2024
4dd5180
[Flang][OpenMP][Lower] Split MLIR codegen for clauses and constructs …
skatrak Apr 16, 2024
31424be
[clang][Interp][NFC] Compare std::optionals directly
tbaederr Apr 15, 2024
a831c54
[clang][Interp] Avoid calling invalid functions
tbaederr Apr 15, 2024
b0194d2
[SEH] Ignore async exception flag when the environment is not MSVC (#…
phoebewang Apr 16, 2024
f4960da
Revert "[Verifier] Reject va_start in non-variadic function (#88809)"
JonChesterfield Apr 16, 2024
01f7989
[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)
MQ-mengqing Apr 16, 2024
c09384e
[clang][Interp] Support MemberExprs pointing to VarDecls
tbaederr Apr 15, 2024
1120d8e
[clang][CodeGen] Add AS for Globals to SPIR & SPIRV datalayouts (#88455)
AlexVlx Apr 16, 2024
36b3c26
[JumpThreading] Thread over BB with only an unconditional branch (#86…
XChy Apr 16, 2024
32b74ca
[clang][Interp] Load value from MemberExpr if required
tbaederr Apr 15, 2024
92e96c7
[X86][GISel] Add DU chain lookups for LOAD & STORE (#87453)
MalaySanghi Apr 16, 2024
ac6b4c6
Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"
JonChesterfield Apr 16, 2024
09e7d75
[clang][Interp] Don't add 'in call to' diagnostics for builtin frames
tbaederr Apr 16, 2024
a8de3ee
[clang][Interp][NFC] Fix some build warnings
tbaederr Apr 16, 2024
c18a3b6
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract…
RKSimon Apr 16, 2024
71b9f66
[clang][Index] Use canonical function parameter types in USRs (#68222)
sdkrystian Apr 16, 2024
dadcaf8
[mlir][ArmSME] Support decomposing constant splats into ArmSME tiles …
MacDue Apr 16, 2024
711df7b
[vector][mlir] Restrict vector.shuffle to fixed-width vectors (#88733)
banach-space Apr 16, 2024
75244a1
[clang][Interp] Implement align builtins
tbaederr Apr 16, 2024
91dd844
Recommit [RISCV] RISCV vector calling convention (2/2) (#79096) (#87736)
4vtomat Apr 16, 2024
ac1f2de
[MLIR][docs] Mention declarePromisedInterface in Interfaces doc (#88689)
frederik-h Apr 16, 2024
1c076b4
[mlir][tosa] Implement dynamic shape support for tosa.max_pool2d lowe…
sabauma Apr 16, 2024
d4602a9
[gn] port fe48bf672e1ab2
nico Apr 16, 2024
c309dc6
[Clang][Sema] placement new initializes typedef array with correct si…
mahtohappy Apr 16, 2024
34013e7
[X86] Add shuffle tests for BLEND(PERMUTE(X),PERMUTE(Y)) patterns
RKSimon Apr 16, 2024
b73476c
[SLP] Make sure MinVF is a power-of-2 by using PowerOf2Ceil.
fhahn Apr 16, 2024
e272c37
clang; Try to get windows-seh-async-verify.cpp to pass on mac
nico Apr 16, 2024
f69ded0
[clang] Introduce `SemaOpenMP` (#88642)
Endilll Apr 16, 2024
9e7aab9
[CUDA] Rename SM_32 to SM_32_ to work around AIX headers (#88779)
jhuber6 Apr 16, 2024
e7fb49c
Switch release notes links to using markup for github issues; NFC
AaronBallman Apr 16, 2024
9d8be24
Revert "[codegen] Emit missing cleanups for stmt-expr and coro suspen…
usx95 Apr 16, 2024
9ce74d6
[AMDGPU][CodeGen] Improve handling of memcpy for -Os/-Oz compilations…
shiltian Apr 16, 2024
6ab5927
[SLP][NFC]Add a test with the incorrect vectorization of smax with un…
alexey-bataev Apr 16, 2024
26ebe16
[SLP]Fix PR88834: check if unsigned arg can be trunced, being used in…
alexey-bataev Apr 16, 2024
e185978
[VectorCombine][X86] Regenerate shuffle.ll + shuffle-of-casts.ll
RKSimon Apr 16, 2024
e84b2fb
[LV][NFCI]Use integer for cost/trip count calculations instead of dou…
alexey-bataev Apr 16, 2024
254df2e
[VectorCombine][X86] shuffle-of-binops.ll - split off foldShuffleOfBi…
RKSimon Apr 16, 2024
6133878
[OpenACC] Implement `self` clause for compute constructs (#88760)
erichkeane Apr 16, 2024
ac79188
[bazel] Add missing dependency for 1c076b43c294c7d29d99dd50f6853b33a5…
d0k Apr 16, 2024
a0f8191
[libclc] Give built bytecode objects a .bc extension. NFC
frasercrmck Apr 16, 2024
3d118f9
[libclc] Fix dependencies between targets
frasercrmck Apr 16, 2024
60de56c
[ValueTracking] Restore isKnownNonZero parameter order. (#88873)
hvdijk Apr 16, 2024
5a34ff1
fix Polynomial.td doc filename (#88900)
j2kun Apr 16, 2024
b632476
[AST][RecoveryExpr] Fix a crash on c89/c90 invalid InitListExpr (#880…
danix800 Apr 16, 2024
d2d4a1b
Revert "[JumpThreading] Thread over BB with only an unconditional bra…
XChy Apr 16, 2024
22629bb
[libc++] Use availability to rely on key functions for bad_expected_a…
ldionne Apr 16, 2024
9ddedf0
[libc++] Deprecate the C++20 synchronization library before C++20 (#8…
ldionne Apr 16, 2024
bd28889
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
preames Apr 16, 2024
1334c03
[flang] Fix test after 4078afc6d23e25df6baedad61b224ef86a94d42f
kparzysz Apr 16, 2024
bf1ad1d
[VectorCombine][X86] Add initial shuffle-of-shuffles.ll test cover fo…
RKSimon Apr 16, 2024
f8e2ec1
Revert "Add asan tests for libsanitizers. (#88349)"
adrian-prantl Apr 16, 2024
8cee94e
[RISCV] Fix obvious copy paste error.
hvdijk Apr 16, 2024
51b42b7
Revert "[Sema] Mark alias/ifunc targets used and consider mangled nam…
joker-eph Apr 16, 2024
9d11128
[libclc] Improve clarity of CMake foreach. NFC.
frasercrmck Apr 16, 2024
2704eba
[flang][runtime] Create CUDA PTX OBJECT library target for F18 runtim…
vzakhari Apr 16, 2024
a79783d
[libc][fenv] Use proxy header (#88787)
robincaloudis Apr 16, 2024
38895e6
[libc][fenv] Remove unnecessary dependencies (#88788)
robincaloudis Apr 16, 2024
1c6b0f7
[RemoveDI] Add support for debug records to debugify (#87383)
SLTozer Apr 16, 2024
45eabd1
[flang,test] Add -resource-dir option to msvc-dependent-lib-flags.f90…
wzssyqa Apr 16, 2024
22e6bf7
[unused-includes][Serialization] Remove unused includes. NFC. (#88790)
vsapsai Apr 16, 2024
b566810
[unused-includes] PCHContainerOperations uses MemoryBufferRef, not Me…
vsapsai Apr 16, 2024
454d449
[OpenMP] Use a memory fence before incrementing the dispatch buffer i…
xingxue-ibm Apr 16, 2024
22bba85
[OpenMP][test][AIX] Make 64 the max number of threads for capacity te…
xingxue-ibm Apr 16, 2024
8137bd9
[memprof] Use CSId to construct MemProfRecord (#88362)
kazutakahirata Apr 16, 2024
8cd8ebe
[MLGO] Use double comparison facilities for reg alloc scoring tests (…
boomanaiden154 Apr 16, 2024
7505452
[clang][Interp] Implement VectorSplat casts
tbaederr Apr 16, 2024
184ba03
[RISCV] Avoid matching 3/5/9 * 2^N as 2^N + 2/4/8 (e.g. 24) (#88937)
preames Apr 16, 2024
4082a75
Improve stack usage to increase recursive initialization depth (#88546)
AaronBallman Apr 16, 2024
aefff77
[clang] Migrate DR tests to `static_assert` (#88611)
Endilll Apr 16, 2024
6b83fe5
[RISCV] Strength reduce mul by 2^n + 2/4/8 + 1 (#88911)
preames Apr 16, 2024
1c2afba
[CodeGen,test] Test llvm-libc style alias attribute with UsingShadowDecl
MaskRay Apr 16, 2024
5462b27
[NFC][libc++][TZDB] Refactors argument order. (#85781)
mordante Apr 16, 2024
a75c9d0
[NFC][libc++] Moves ios_base's forward declaration. (#88027)
mordante Apr 16, 2024
9cd3e92
[libc++][modules] Removes some validation quirks. (#88031)
mordante Apr 16, 2024
41a8305
[libc++] Removes deprecated _LIBCPP_ENABLE_<VERSION>_REMOVED_FEATURES…
mordante Apr 16, 2024
388da6a
[libc++][test] Removes Clang 16 validation. (#88558)
mordante Apr 16, 2024
8e0a4a8
[libc++][doc] Documents -DLIBCXX_INSTALL_MODULES=ON. (#88547)
mordante Apr 16, 2024
002297b
[gn] port 22629bb22a1b
nico Apr 16, 2024
8debcf0
[mlir][sparse] introduce sparse_tensor.iterate operation (#88807)
Apr 16, 2024
b955653
Revert "[mlir][sparse] introduce sparse_tensor.iterate operation" (#8…
Apr 16, 2024
481bd5d
[mlir][sparse] introduce `sparse_tensor.extract_iteration_space` oper…
Apr 16, 2024
edb711d
[InstCombine] Update `vector_reduce_and` tests to actually use `llvm.…
goldsteinn Apr 16, 2024
5c6af60
[Clang][Sema] placement new initializes typedef array with correct si…
mahtohappy Apr 16, 2024
b01879e
[MLIR][XeGPU] Add XeGPU scattered ops (#86594)
chencha3 Apr 16, 2024
9ec8c96
[clang][dataflow] Expose getReferencedDecls and relocate free functio…
bazuzi Apr 16, 2024
bbd64c4
[RISCV] Add coverage for strength reduction of mul as 2^N - 2^M
preames Apr 16, 2024
8885813
[libc++][chrono] Disables a test.
mordante Apr 16, 2024
0665669
[Sema] Mark alias/ifunc targets used and consider mangled names
MaskRay Apr 16, 2024
5422eb0
[memprof] Add another constructor to MemProfReader (#88952)
kazutakahirata Apr 16, 2024
c7657cf
[SLP]Keep externally used GEPs as GEPs, if possible instead of extrac…
alexey-bataev Apr 16, 2024
7d4e8c1
[SLP]Attempt to vectorize long stores, if short one failed.
alexey-bataev Apr 16, 2024
3eff86f
[gn build] Port 9ec8c961664d
llvmgnsyncbot Apr 16, 2024
b0ddbfb
[clang][SPIR-V] Set AS for the SPIR-V logical triple (#88939)
bogner Apr 16, 2024
c9731a3
[mlir] Fix a warning about an extraneous semicolon
kazutakahirata Apr 16, 2024
0a789ea
Fix test from #83124 and #88902
erichkeane Apr 16, 2024
9a0a28f
[Libomptarget] Rework Record & Replay to be a plugin member (#88928)
jhuber6 Apr 16, 2024
ed7038e
specify dialect in polynomial docs (#88933)
j2kun Apr 16, 2024
13ea36d
Fix UPCAddressofArraySubscriptGadget::getClaimedVarUseSites() (#88406)
juanvazquez Apr 16, 2024
f430e37
[llvm] Drop unaligned from calls to readNext (NFC) (#88841)
kazutakahirata Apr 16, 2024
281d716
[X86] Change how we treat functions with explicit sections as small/l…
aeubanks Apr 16, 2024
191be2a
update_test_checks: pre-commit a new test
nhaehnle Apr 8, 2024
e770249
update_test_checks: add new test
nhaehnle Apr 3, 2024
377a276
update_test_checks: remove an unused function
nhaehnle Apr 3, 2024
9ec6c5d
[flang][cuda] Add fir.deallocate operation (#88839)
clementval Apr 16, 2024
34777c2
[VPlan] Don't mark VPBlendRecipe as phi-like.
fhahn Apr 16, 2024
b6bd41d
[InstCombine] Add canonicalization of `sitofp` -> `uitofp nneg`
goldsteinn Mar 21, 2024
885b8d9
[RISCV] Enable mul strength reduction for XTheadBa
preames Apr 16, 2024
c6e0162
Revert "Reapply "[LV] Improve AnyOf reduction codegen. (#78304)""
aeubanks Apr 16, 2024
266b2a2
[ValueTracking] Add tests for `computeKnownFPClass` of `llvm.vector.r…
goldsteinn Apr 10, 2024
9eeae44
[ValueTracking] Implement `computeKnownFPClass` for `llvm.vector.redu…
goldsteinn Apr 10, 2024
d19bd05
Clang Release Notes: Fix reST formatting
hubert-reinterpretcast Apr 16, 2024
3074060
[memprof] Use SizeIs (NFC) (#88984)
kazutakahirata Apr 16, 2024
b1385db
[libc][NFC] fix typo in fenv type proxy headers (#88982)
michaelrj-google Apr 16, 2024
8aa061f
[mlir][sparse][NFC] switching to using `let argments/results` in td f…
Apr 16, 2024
9067070
[RISCV] Re-separate unaligned scalar and vector memory features in th…
topperc Apr 16, 2024
988ffd0
Add asan tests for libsanitizers. (#88349) (#88962)
usama54321 Apr 16, 2024
50a3717
[X86] Fix instr desc of CFCMOV's 'mr' variants
darkbuck Apr 16, 2024
1bc0921
[bazel] Add support for lldb-server (#88989)
keith Apr 16, 2024
be50a25
Update foldFMulReassoc to respect absent fast-math flags (#88589)
Apr 16, 2024
ce5381e
[mlir][vector] Determine vector sizes from the result shape in the ca…
pashu123 Apr 17, 2024
8c9f45e
[ARM64EC] Fix arm_neon.h on ARM64EC. (#88572)
efriedma-quic Apr 17, 2024
8c9d814
[mlir][complex] Fastmath flag for complex angle (#88658)
Lewuathe Apr 17, 2024
efd6055
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
nikic Apr 17, 2024
7c26889
[Sparc] Fix instr desc of special register stores
darkbuck Apr 16, 2024
62853a2
[TableGen][InstrInfoEmitter] Count sub-operands on def operands
darkbuck Apr 16, 2024
d0f718e
Revert "Improve stack usage to increase recursive initialization dept…
vitalybuka Apr 17, 2024
1f35e72
[clang][builtin] Implement __builtin_allow_runtime_check (#87568)
vitalybuka Apr 17, 2024
52a4d81
[BOLT][NFC] Remove unused function (#89009)
maksfb Apr 17, 2024
0af8cae
[BOLT][NFC] Remove another unused function (#89011)
maksfb Apr 17, 2024
f40f4fc
[clang analysis] ExprMutationAnalyzer support recursive forwarding re…
HerrCai0907 Apr 17, 2024
3204f3e
[RISCV] Convert VTYPE operand check to assert in RISCVInsertVSETVLI. NFC
lukel97 Apr 17, 2024
c81e5fa
[RISCV] Add CFI information for vector callee-saved registers (#86811)
4vtomat Apr 17, 2024
e6ecff8
[C++20] [Modules] Add Release Notes and Documents for Reduced BMI
ChuanqiXu9 Apr 17, 2024
eafd515
[clang][deps] Support single-file mode for all formats (#88764)
jansvoboda11 Apr 17, 2024
6a4eaf9
[clang][deps] Add `-o` flag to specify output path (#88767)
jansvoboda11 Apr 17, 2024
f71e25b
[memprof] Simplify IndexedMemProfRecord::operator== (NFC) (#88986)
kazutakahirata Apr 17, 2024
fca2a49
[RISCV] Simplify FindRegWithEncoding in copyPhysRegVector. NFC (#89001)
topperc Apr 17, 2024
a6fcbcc
[libc++][TZDB] Improves time zone format specifiers. (#85797)
mordante Apr 17, 2024
e096c14
[analyzer] Fix a security.cert.env.InvalidPtr crash
steakhal Apr 17, 2024
024281d
[analyzer] Harden security.cert.env.InvalidPtr checker fn matching
steakhal Apr 17, 2024
b851c7f
[clang][dataflow] Support `StmtExpr` in `PropagateResultObject()`. (#…
martinboehme Apr 17, 2024
4714883
[mlir][python] Add `walk` method to PyOperationBase (#87962)
uenoku Apr 17, 2024
1bccbe1
[clang][dataflow] Treat `BuiltinBitCastExpr` correctly in `PropagateR…
martinboehme Apr 17, 2024
64c6495
[clang][NFC] Move `Sema::SkipBodyInfo` into namespace scope
Endilll Apr 17, 2024
16f1887
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)
wzssyqa Apr 17, 2024
b090569
[RISCV] Support Zama16b1p0 (#88474)
jaidTw Apr 17, 2024
d35a643
Revert "Fix test from #83124 and #88902"
metaflow Apr 17, 2024
dbda478
Revert "[Clang][Sema] placement new initializes typedef array with co…
metaflow Apr 17, 2024
dd84d23
Revert "[Clang][Sema] placement new initializes typedef array with co…
metaflow Apr 17, 2024
bc3620d
AMDGPU: Move libcall simplify into PeepholeEP (#88853)
arsenm Apr 17, 2024
e11b17a
[clang][NFC] Refactor `Sema::CheckedConversionKind`
Endilll Apr 17, 2024
49b209d
Revert "[Libomptarget] Rework Record & Replay to be a plugin member" …
jplehr Apr 17, 2024
9f3334e
[mlir][SparseTensor] Add missing dependent dialect to pass (#88870)
matthias-springer Apr 17, 2024
889dfd4
[libc][msan] Fix "non-constexpr function '__msan_unpoison' cannot be …
gchatelet Apr 17, 2024
17b86d5
[X86][NFC] Add test cases for pr88958
phoebewang Apr 17, 2024
d1a69e4
Move gfni for bitreverse check out of SSSE3. (#88938)
shamithoke Apr 17, 2024
a16bb07
[lldb][test] Improve invalid compiler error message
DavidSpickett Apr 17, 2024
d9a5aa8
[PatternMatch] Do not accept undef elements in m_AllOnes() and friend…
nikic Apr 17, 2024
971237d
[flang] Retain internal and BIND(C) host procedure link in FIR (#87796)
jeanPerier Apr 17, 2024
b512df6
[SPIR-V] Improve Tablegen instruction selection and account for a poi…
VyacheslavLevytskyy Apr 17, 2024
42d801d
[SPIR-V] Account for zext in a llvm intrinsic call (#88903)
VyacheslavLevytskyy Apr 17, 2024
fa61f06
Fix threadprivate variable scope inside BLOCK construct. (#88921)
harishch4 Apr 17, 2024
cbe148b
[LV][NFC] Remove the declaration of function `fixReduction`. (#88491)
Mel-Chen Apr 17, 2024
a9bafe9
[VPlan] Split VPWidenMemoryInstructionRecipe (NFCI). (#87411)
fhahn Apr 17, 2024
f4737a2
update_test_checks: keep names stable with generated functions (#87988)
nhaehnle Apr 17, 2024
3eb0ba3
[MLIR][Flang][OpenMP] Make omp.simdloop into a loop wrapper (#87365)
skatrak Apr 17, 2024
16b0be6
[MLIR][OpenMP] NFC: Remove LoopControl parsing/printing code (#88909)
skatrak Apr 17, 2024
a020199
[RISCV] Assert only valid AVLs in doLocalPostpass are X0 or virtual r…
lukel97 Apr 17, 2024
a634f3e
[RemoveDIs] Update update_test_checks script to recognize dbg_records…
SLTozer Apr 17, 2024
792d437
[clang-tidy NFC] Fix a typo in docs for sizeof-expression (#88912)
NagyDonat Apr 17, 2024
5f3e106
[lldb/linux] Make sure the process continues running after a detach (…
labath Apr 17, 2024
c8dca5b
[Flang][OpenMP][Lower] Refactor lowering of compound constructs (#87070)
skatrak Apr 17, 2024
06eedff
[analyzer] Use explicit call description mode in iterator checkers (#…
NagyDonat Apr 17, 2024
631c5e8
[mlir] fix intNEQValue summary (#89029)
MbjYjbpivj Apr 17, 2024
d57907d
[libc++] Add missing iterator requirement checks in the PSTL (#88127)
ldionne Apr 17, 2024
6c78530
[X86] vector-shuffle-combining-sse41.ll - add missing AVX1/2/512 chec…
RKSimon Apr 17, 2024
37b26bf
[mlir] transform.apply_patterns support more config options (#88484)
ftynse Apr 17, 2024
4536ad4
[RISCV] Fix clang-tidy warning about else after return. NFC
lukel97 Apr 17, 2024
86a7828
[TailDuplicator] Add maximum predecessors and successors to consider …
DianQK Apr 17, 2024
915c84b
[lldb] Fix evaluation of expressions with static initializers (#89063)
labath Apr 17, 2024
79726ef
[VP] Correct lowering of predicated fma and faddmul to avoid strictfp…
kpneal Apr 17, 2024
7b8625e
[AMDGPU][Docs] Fix broken link to HRF memory model reference (#88696)
ritter-x2a Apr 17, 2024
971ec1f
[Inline] Regenerate inline-switch-default-2.ll (NFC)
DianQK Apr 17, 2024
73140da
[mlir] expose transform dialect symbol merge to python (#87690)
ftynse Apr 17, 2024
20d653f
[LLVM][CodeGen] Fix register lane liveness tracking in RegisterPressu…
kparzysz Apr 17, 2024
1fc72db
[RISCV] Add test for doLocalPostpass issue not checking if VL was mod…
lukel97 Apr 17, 2024
76ad289
[PowerPC] 32-bit large code-model support for toc-data (#85129)
syzaara Apr 17, 2024
edbeae3
[RISCV] Explicitly bail if something modifies VL/VTYPE in doLocalPost…
lukel97 Apr 17, 2024
3820571
[C99] Remove WG14 N522 from the C status page
AaronBallman Apr 16, 2024
41b7341
[VPlan] Factor out helper to recursively collect all users (NFCI).
fhahn Apr 17, 2024
856d1c4
[AMDGPU] Fix predicates for BUFFER_ATOMIC_FMIN/FMAX patterns (#89066)
jayfoad Apr 17, 2024
4f88c23
[mlir][py] Add NVGPU's `TensorMapDescriptorType` in py bindings (#88855)
grypp Apr 17, 2024
fda04b1
[libc] Replace mentions of `LIBC_FULLBUILD` with `LLVM_LIBC_FULL_BUIL…
Rajveer100 Apr 17, 2024
d558c09
[NFC] Clean dead code in ParsedAttr.h (#89064)
yronglin Apr 17, 2024
dbafcd7
[lldb] XFAIL TestDetachResumes on windows
labath Apr 17, 2024
e490435
[CostModel][X86] Update BITREVERSE costs for GFNI targets
RKSimon Apr 17, 2024
4a5ab13
[VectorCombine] Remove single quotes from "-passes=vector-combine"
RKSimon Apr 17, 2024
5d31435
[VPlan] Check for VPWidenLoadRecipe directly in truncateToMinBW. (NFCI).
fhahn Apr 17, 2024
812963f
[libc++][chrono] Improves date formatting. (#86127)
mordante Apr 17, 2024
458328a
[clang][NFC] Refactor `Sema::RedeclarationKind`
Endilll Apr 17, 2024
950bb09
Revert "[Clang][AArch64] Warn when calling non/streaming about vector…
dtemirbulatov Apr 17, 2024
b854a23
[libc][c23][fenv] Implement fetestexceptflag (#87828)
robincaloudis Apr 17, 2024
8656d4c
[Clang][Parse] Diagnose requires expressions with explicit object par…
sdkrystian Apr 17, 2024
abd5e45
[compiler-rt] Use __atomic builtins whenever possible
arichardson Apr 17, 2024
a88ea8f
[flang][cuda] Update memory effect on fir.cuda_allocate op (#88930)
clementval Apr 17, 2024
da70f2c
[flang][cuda] Lower ALLOCATE for device variable (#88980)
clementval Apr 17, 2024
19c6a7f
[FMV] Remove useless features according the latest ACLE spec. (#88965)
labrinea Apr 17, 2024
06947b9
[libc][POSIX][pthreads] implement pthread_condattr_t functions (#88987)
nickdesaulniers Apr 17, 2024
4edeaff
[mlir][tosa] Fix tosa.Resize-to-linalg lowering (#88514)
fabrizio-indirli Apr 17, 2024
564f9ab
[bazel][mlir] Add missing dep after 4f88c2311130791cf69da34b743b1b3ba…
slackito Apr 17, 2024
e59632b
[RISCV] Fix typo in RISCVScheduleV.td that was introduced in 60a1158
michaelmaitland Apr 17, 2024
676d3ba
[bazel][libc] Add missing dep after b854a2323337be2633b1135f590678a17…
slackito Apr 17, 2024
693a458
[MLIR] Update doc comment in ViewLikeInterface.td (NFC) (#89074)
abdulraheembeigh Apr 17, 2024
6f7160e
[SLP]Attempt to vectorize long stores, if short one failed.
alexey-bataev Apr 16, 2024
eefee38
[libc] set cmake dependencies for condattr test (#89103)
nickdesaulniers Apr 17, 2024
8255360
[CostModel][X86] Add basic GFNI target test coverage for shift/rotate…
RKSimon Apr 17, 2024
da04e4a
[InstCombine] Use `auto *` instead of `auto` in `visitSIToFP`; NFC
goldsteinn Apr 17, 2024
d423d80
[libc++][pstl] Promote CPU backends to top-level backends (#88968)
ldionne Apr 17, 2024
8d49ce1
[GlobalISel][AArch64] Add LLRINT support (#88702)
davemgreen Apr 17, 2024
2c22a0c
[InstCombine] Add test case for turning sub into xor using dominating…
topperc Apr 12, 2024
421a8c5
[InstCombine] Add phase ordering test for #88239. NFC
topperc Apr 17, 2024
ed741ff
[github] Add ClangIR to new-prs-labeler.yml (#86088)
lanza Apr 17, 2024
c02ed29
[CostModel][X86] Recognise vector rotation by uniform constant patterns
RKSimon Apr 17, 2024
58a08e1
[RISCV] Add coverage for strength reduction of mul by small negative …
preames Apr 17, 2024
cc82f12
[AArch64] Update latencies for Cortex-A510 scheduling model (#87293)
UsmanNadeem Apr 17, 2024
4572a2d
[AArch64] Add some test cases for LD2/LD3/LD4 shuffles. NFC
davemgreen Apr 17, 2024
5a0942c
[llvm][NVPTX] Don't emit unused var 'temp_param_reg' (NFC) (#89004)
JOE1994 Apr 17, 2024
800f105
[GitHub] Add a new mapping for `offload` subproject (#89118)
shiltian Apr 17, 2024
6f7976c
[libc++][TZDB] Adds sys_info formatter. (#85896)
mordante Apr 17, 2024
b1dc62f
[clang]Treat arguments to builtin type traits as template type argume…
AMP999 Apr 17, 2024
6cea7c4
[X86] Always use 64-bit relocations in no-PIC large code model (#89101)
aeubanks Apr 17, 2024
1460b49
[gn build] Manually port d423d80e560d
aeubanks Apr 17, 2024
dcf2121
Merge branch 'clang-pgo-cold' into HEAD
aeubanks Apr 17, 2024
9ef6d66
add test, check PGOOpt before using PGOOpt->ColdOptType
aeubanks Apr 17, 2024
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
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
ClangIR:
- clang/include/clang/CIR/**/*
- clang/lib/CIR/**/*
- clang/tools/cir-*/**/*
- clang/test/CIR/**/*

clang:dataflow:
- clang/include/clang/Analysis/FlowSensitive/**/*
- clang/lib/Analysis/FlowSensitive/**/*
Expand Down Expand Up @@ -938,3 +944,6 @@ openmp:libomptarget:

bazel:
- utils/bazel/**

offload:
- offload/**
10 changes: 0 additions & 10 deletions bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -368,13 +368,6 @@ class RewriteInstance {
/// rewritten binary.
void patchBuildID();

/// Return file offset corresponding to a given virtual address.
uint64_t getFileOffsetFor(uint64_t Address) {
assert(Address >= NewTextSegmentAddress &&
"address in not in the new text segment");
return Address - NewTextSegmentAddress + NewTextSegmentOffset;
}

/// Return file offset corresponding to a virtual \p Address.
/// Return 0 if the address has no mapping in the file, including being
/// part of .bss section.
Expand All @@ -398,9 +391,6 @@ class RewriteInstance {
/// Return true if the section holds debug information.
static bool isDebugSection(StringRef SectionName);

/// Return true if the section holds linux kernel symbol information.
static bool isKSymtabSection(StringRef SectionName);

/// Adds Debug section to overwrite.
static void addToDebugSectionsToOverwrite(const char *Section) {
DebugSectionsToOverwrite.emplace_back(Section);
Expand Down
7 changes: 0 additions & 7 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5767,10 +5767,3 @@ bool RewriteInstance::isDebugSection(StringRef SectionName) {

return false;
}

bool RewriteInstance::isKSymtabSection(StringRef SectionName) {
if (SectionName.starts_with("__ksymtab"))
return true;

return false;
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@ void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result) {

TraversalKindScope RAII(*Result.Context, TK_AsIs);

FunctionParmMutationAnalyzer &Analyzer =
MutationAnalyzers.try_emplace(Function, *Function, *Result.Context)
.first->second;
if (Analyzer.isMutated(Param))
FunctionParmMutationAnalyzer *Analyzer =
FunctionParmMutationAnalyzer::getFunctionParmMutationAnalyzer(
*Function, *Result.Context, MutationAnalyzerCache);
if (Analyzer->isMutated(Param))
return;

const bool IsConstQualified =
Expand Down Expand Up @@ -169,7 +169,7 @@ void UnnecessaryValueParamCheck::storeOptions(
}

void UnnecessaryValueParamCheck::onEndOfTranslationUnit() {
MutationAnalyzers.clear();
MutationAnalyzerCache.clear();
}

void UnnecessaryValueParamCheck::handleMoveFix(const ParmVarDecl &Var,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ class UnnecessaryValueParamCheck : public ClangTidyCheck {
void handleMoveFix(const ParmVarDecl &Var, const DeclRefExpr &CopyArgument,
const ASTContext &Context);

llvm::DenseMap<const FunctionDecl *, FunctionParmMutationAnalyzer>
MutationAnalyzers;
ExprMutationAnalyzer::Memoized MutationAnalyzerCache;
utils::IncludeInserter Inserter;
const std::vector<StringRef> AllowedTypes;
};
Expand Down
4 changes: 4 additions & 0 deletions clang-tools-extra/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,10 @@ Changes in existing checks
<clang-tidy/checks/llvm/header-guard>` check by replacing the local
option `HeaderFileExtensions` by the global option of the same name.

- Improved :doc:`misc-const-correctness
<clang-tidy/checks/misc/const-correctness>` check by avoiding infinite recursion
for recursive forwarding reference.

- Improved :doc:`misc-definitions-in-headers
<clang-tidy/checks/misc/definitions-in-headers>` check by replacing the local
option `HeaderFileExtensions` by the global option of the same name.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,6 @@ Options

.. option:: WarnOnSizeOfPointerToAggregate

When `true, the check will warn on an expression like
When `true`, the check will warn on an expression like
``sizeof(expr)`` where the expression is a pointer
to aggregate. Default is `true`.
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,18 @@ void concatenate3(Args... args)
(..., (stream << args));
}
} // namespace gh70323

namespace gh60895 {

template <class T> void f1(T &&a);
template <class T> void f2(T &&a);
template <class T> void f1(T &&a) { f2<T>(a); }
template <class T> void f2(T &&a) { f1<T>(a); }
void f() {
int x = 0;
// CHECK-MESSAGES:[[@LINE-1]]:3: warning: variable 'x' of type 'int' can be declared 'const'
// CHECK-FIXES: int const x = 0;
f1(x);
}

} // namespace gh60895
48 changes: 48 additions & 0 deletions clang/docs/LanguageExtensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3466,6 +3466,54 @@ Query for this feature with ``__has_builtin(__builtin_trap)``.

``__builtin_arm_trap`` is lowered to the ``llvm.aarch64.break`` builtin, and then to ``brk #payload``.

``__builtin_allow_runtime_check``
---------------------------------

``__builtin_allow_runtime_check`` return true if the check at the current
program location should be executed. It is expected to be used to implement
``assert`` like checks which can be safely removed by optimizer.

**Syntax**:

.. code-block:: c++

bool __builtin_allow_runtime_check(const char* kind)

**Example of use**:

.. code-block:: c++

if (__builtin_allow_runtime_check("mycheck") && !ExpensiveCheck()) {
abort();
}

**Description**

``__builtin_allow_runtime_check`` is lowered to ` ``llvm.allow.runtime.check``
<https://llvm.org/docs/LangRef.html#llvm-allow-runtime-check-intrinsic>`_
builtin.

The ``__builtin_allow_runtime_check()`` is expected to be used with control
flow conditions such as in ``if`` to guard expensive runtime checks. The
specific rules for selecting permitted checks can differ and are controlled by
the compiler options.

Flags to control checks:
* ``-mllvm -lower-allow-check-percentile-cutoff-hot=N`` where N is PGO hotness
cutoff in range ``[0, 999999]`` to disallow checks in hot code.
* ``-mllvm -lower-allow-check-random-rate=P`` where P is number in range
``[0.0, 1.0]`` representation probability of keeping a check.
* If both flags are specified, ``-lower-allow-check-random-rate`` takes
precedence.
* If none is specified, ``__builtin_allow_runtime_check`` is lowered as
``true``, allowing all checks.

Parameter ``kind`` is a string literal representing a user selected kind for
guarded check. It's unused now. It will enable kind-specific lowering in future.
E.g. a higher hotness cutoff can be used for more expensive kind of check.

Query for this feature with ``__has_builtin(__builtin_allow_runtime_check)``.

``__builtin_nondeterministic_value``
------------------------------------

Expand Down
52 changes: 25 additions & 27 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ AST Dumping Potentially Breaking Changes

Clang Frontend Potentially Breaking Changes
-------------------------------------------
- Removed support for constructing on-stack ``TemplateArgumentList``s; interfaces should instead
- Removed support for constructing on-stack ``TemplateArgumentList``\ s; interfaces should instead
use ``ArrayRef<TemplateArgument>`` to pass template arguments. Transitioning internal uses to
``ArrayRef<TemplateArgument>`` reduces AST memory usage by 0.4% when compiling clang, and is
expected to show similar improvements on other workloads.
Expand Down Expand Up @@ -104,8 +104,7 @@ C++20 Feature Support

- Clang now implements [module.import]p7 fully. Clang now will import module
units transitively for the module units coming from the same module of the
current module units.
Fixes `#84002 <https://github.com/llvm/llvm-project/issues/84002>`_.
current module units. Fixes #GH84002

- Initial support for class template argument deduction (CTAD) for type alias
templates (`P1814R0 <https://wg21.link/p1814r0>`_).
Expand Down Expand Up @@ -135,8 +134,7 @@ C++2c Feature Support
Resolutions to C++ Defect Reports
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Substitute template parameter pack, when it is not explicitly specified
in the template parameters, but is deduced from a previous argument.
(`#78449: <https://github.com/llvm/llvm-project/issues/78449>`_).
in the template parameters, but is deduced from a previous argument. (#GH78449)

- Type qualifications are now ignored when evaluating layout compatibility
of two types.
Expand Down Expand Up @@ -176,8 +174,7 @@ C23 Feature Support

- Clang now generates predefined macros of the form ``__TYPE_FMTB__`` and
``__TYPE_FMTb__`` (e.g., ``__UINT_FAST64_FMTB__``) in C23 mode for use with
macros typically exposed from ``<inttypes.h>``, such as ``PRIb8``.
(`#81896: <https://github.com/llvm/llvm-project/issues/81896>`_).
macros typically exposed from ``<inttypes.h>``, such as ``PRIb8``. (#GH81896)

- Clang now supports `N3018 The constexpr specifier for object definitions`
<https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3018.htm>`_.
Expand Down Expand Up @@ -215,7 +212,10 @@ New Compiler Flags

- ``-Wmissing-designated-field-initializers``, grouped under ``-Wmissing-field-initializers``.
This diagnostic can be disabled to make ``-Wmissing-field-initializers`` behave
like it did before Clang 18.x. Fixes (`#56628 <https://github.com/llvm/llvm-project/issues/68933>`_)
like it did before Clang 18.x. Fixes #GH56628

- ``-fexperimental-modules-reduced-bmi`` enables the Reduced BMI for C++20 named modules.
See the document of standard C++ modules for details.

Deprecated Compiler Flags
-------------------------
Expand Down Expand Up @@ -254,8 +254,7 @@ Removed Compiler Flags

- The ``-freroll-loops`` flag has been removed. It had no effect since Clang 13.
- ``-m[no-]unaligned-access`` is removed for RISC-V and LoongArch.
``-m[no-]strict-align``, also supported by GCC, should be used instead.
(`#85350 <https://github.com/llvm/llvm-project/pull/85350>`_.)
``-m[no-]strict-align``, also supported by GCC, should be used instead. (#GH85350)

Attribute Changes in Clang
--------------------------
Expand Down Expand Up @@ -325,8 +324,7 @@ Improvements to Clang's diagnostics
Fixes #GH82512.

- Clang now provides improved warnings for the ``cleanup`` attribute to detect misuse scenarios,
such as attempting to call ``free`` on an unallocated object. Fixes
`#79443 <https://github.com/llvm/llvm-project/issues/79443>`_.
such as attempting to call ``free`` on an unallocated object. Fixes #GH79443.

- Clang no longer warns when the ``bitand`` operator is used with boolean
operands, distinguishing it from potential typographical errors or unintended
Expand Down Expand Up @@ -366,17 +364,18 @@ Improvements to Clang's diagnostics
- Clang now uses the correct type-parameter-key (``class`` or ``typename``) when printing
template template parameter declarations.

- Clang now diagnoses requires expressions with explicit object parameters.

Improvements to Clang's time-trace
----------------------------------

Bug Fixes in This Version
-------------------------
- Clang's ``-Wundefined-func-template`` no longer warns on pure virtual
functions.
(`#74016 <https://github.com/llvm/llvm-project/issues/74016>`_)
functions. (#GH74016)

- Fixed missing warnings when comparing mismatched enumeration constants
in C (`#29217 <https://github.com/llvm/llvm-project/issues/29217>`).
in C (#GH29217)

- Clang now accepts elaborated-type-specifiers that explicitly specialize
a member class template for an implicit instantiation of a class template.
Expand Down Expand Up @@ -415,14 +414,16 @@ Bug Fixes in This Version
type only rather than to the complex type (e.g. ``_Complex float / int`` is now evaluated
as ``_Complex float / float`` rather than ``_Complex float / _Complex float``), as mandated
by the C standard. This significantly improves codegen of `*` and `/` especially.
Fixes (`#31205 <https://github.com/llvm/llvm-project/issues/31205>`_).
Fixes #GH31205.

- Fixes an assertion failure on invalid code when trying to define member
functions in lambdas.

- Fixed a regression in CTAD that a friend declaration that befriends itself may cause
incorrect constraint substitution. (#GH86769).

- Fixed an assertion failure on invalid InitListExpr in C89 mode (#GH88008).

Bug Fixes to Compiler Builtins
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -464,8 +465,7 @@ Bug Fixes to C++ Support
- Fix a crash when trying to call a varargs function that also has an explicit object parameter. (#GH80971)
- Fixed a bug where abbreviated function templates would append their invented template parameters to
an empty template parameter lists.
- Fix parsing of abominable function types inside type traits.
Fixes (`#77585 <https://github.com/llvm/llvm-project/issues/77585>`_)
- Fix parsing of abominable function types inside type traits. Fixes #GH77585
- Clang now classifies aggregate initialization in C++17 and newer as constant
or non-constant more accurately. Previously, only a subset of the initializer
elements were considered, misclassifying some initializers as constant. Partially fixes
Expand Down Expand Up @@ -506,9 +506,7 @@ Bug Fixes to C++ Support
- Fix a bug where overload resolution falsely reported an ambiguity when it was comparing
a member-function against a non member function or a member-function with an
explicit object parameter against a member function with no explicit object parameter
when one of the function had more specialized templates.
Fixes (`#82509 <https://github.com/llvm/llvm-project/issues/82509>`_)
and (`#74494 <https://github.com/llvm/llvm-project/issues/74494>`_)
when one of the function had more specialized templates. Fixes #GH82509 and #GH74494
- Clang now supports direct lambda calls inside of a type alias template declarations.
This addresses (#GH70601), (#GH76674), (#GH79555), (#GH81145) and (#GH82104).
- Allow access to a public template alias declaration that refers to friend's
Expand All @@ -530,14 +528,14 @@ Bug Fixes to C++ Support
- Fixed a bug that prevented member function templates of class templates declared with a deduced return type
from being explicitly specialized for a given implicit instantiation of the class template.

- Fix crash when inheriting from a cv-qualified type. Fixes:
(`#35603 <https://github.com/llvm/llvm-project/issues/35603>`_)
- Fix crash when inheriting from a cv-qualified type. Fixes #GH35603
- Fix a crash when the using enum declaration uses an anonymous enumeration. Fixes (#GH86790).
- Handled an edge case in ``getFullyPackExpandedSize`` so that we now avoid a false-positive diagnostic. (#GH84220)
- Clang now correctly tracks type dependence of by-value captures in lambdas with an explicit
object parameter.
Fixes (#GH70604), (#GH79754), (#GH84163), (#GH84425), (#GH86054), (#GH86398), and (#GH86399).
- Fix a crash when deducing ``auto`` from an invalid dereference (#GH88329).
- Fix a crash in requires expression with templated base class member function. Fixes (#GH84020).

Bug Fixes to AST Handling
^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -551,8 +549,7 @@ Miscellaneous Clang Crashes Fixed
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Do not attempt to dump the layout of dependent types or invalid declarations
when ``-fdump-record-layouts-complete`` is passed.
Fixes (`#83684 <https://github.com/llvm/llvm-project/issues/83684>`_).
when ``-fdump-record-layouts-complete`` is passed. Fixes #GH83684.

OpenACC Specific Changes
------------------------
Expand Down Expand Up @@ -602,8 +599,7 @@ Windows Support
would only be included if AVX was enabled at compile time. This was done to work
around include times from MSVC STL including ``intrin.h`` under clang-cl.
Clang-cl now provides ``intrin0.h`` for MSVC STL and therefore all intrinsic
features without requiring enablement at compile time.
Fixes: (`#53520 <https://github.com/llvm/llvm-project/issues/53520>`_)
features without requiring enablement at compile time. Fixes #GH53520

- Improved compile times with MSVC STL. MSVC provides ``intrin0.h`` which is a
header that only includes intrinsics that are used by MSVC STL to avoid the
Expand Down Expand Up @@ -684,6 +680,8 @@ Static Analyzer
but not under any case blocks if ``unroll-loops=true`` analyzer config is
set. (#GH68819)
- Support C++23 static operator calls. (#GH84972)
- Fixed a crash in ``security.cert.env.InvalidPtr`` checker when accidentally
matched user-defined ``strerror`` and similar library functions. (GH#88181)

New features
^^^^^^^^^^^^
Expand Down
Loading
Loading