Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1325 commits
Select commit Hold shift + click to select a range
19b39da
[clang/AST] Make it possible to use SwiftAttr in type context (#108631)
xedin Oct 31, 2024
2154f8b
[mlir][TosaToLinalg] `RescaleConverter` only support integer type (#1…
CoTinker Oct 31, 2024
86f51ba
[MLIR][OpenMP] Simplify translation to LLVM IR error handling (#114036)
skatrak Oct 31, 2024
dcba618
Fix MSVC "signed/unsigned mismatch" warning. NFC.
RKSimon Oct 31, 2024
6afd850
[MLIR][OpenMP] Emit descriptive errors for all unsupported clauses (#…
skatrak Oct 31, 2024
93afbc6
[RISCV] Support llvm.masked.expandload intrinsic (#101954)
wangpc-pp Oct 31, 2024
dc0e233
[AArch64] Add assembly/disassembly for {S,U,SU,US}TMOPA instructions …
momchil-velikov Oct 31, 2024
e8261ca
[SCCP] Handle llvm.vscale intrinsic calls (#114033)
hazzlim Oct 31, 2024
0fa12a5
[docs] Point to Discourse for creating RFCs (#114341)
jansvoboda11 Oct 31, 2024
8131187
[SDAG] Support expanding `FSINCOS` to vector library calls (#114039)
MacDue Oct 31, 2024
f4eaef1
[SPIR-V] Re-enable -verify-machineinstrs on tests (#114388)
Keenuts Oct 31, 2024
8808d05
[LoongArch][NFC] Pre-commit tests for LSX/LASX bswap codegen (#114170)
xen0n Oct 31, 2024
7a69d65
Replace documentation mentions of IRC with Discord (#114276)
AaronBallman Oct 31, 2024
a36c413
[CGP] [CodeGenPrepare] Folding `urem` with loop invariant value plus …
goldsteinn Oct 31, 2024
068b304
[clang][bytecode] Fix Pointer::toAPValue() for multidimensional array…
tbaederr Oct 31, 2024
61e0694
[libclang/python] Fix incorrect assert in test (#114395)
DeinAlptraum Oct 31, 2024
adf3aa2
[libclang/python/tests] Remove unused variables (#114397)
DeinAlptraum Oct 31, 2024
de2bd6a
[libclang/python/tests] Remove Python <3.6 workarounds (#114399)
DeinAlptraum Oct 31, 2024
ea28553
[AArch64] Add assembly/disassembly for zeroing SVE REV{B,H,W,D} and R…
SpencerAbson Oct 31, 2024
628eaff
[Clang][SYCL] Introduce clang-sycl-linker to link SYCL offloading dev…
asudarsa Oct 31, 2024
8d3cb52
AMDGPU/GlobalISel: Handle atomic sextload and zextload (#111721)
arsenm Oct 31, 2024
51a7979
[AArch64] NFC: Add RUN line for +sve2 for sve-intrinsics-perm-select.ll
sdesmalen-arm Oct 31, 2024
7304ca1
Extend `getBackwardSlice` to track values captured from above (#113478)
IanWood1 Oct 31, 2024
5d8a7e4
[rtsan][NFC] Add 'known to have non-deterministic' caveat to document…
cjappl Oct 31, 2024
b19464c
[Reland][TLI] Add support for hypot libcall. (#114343)
MouriNaruto Oct 31, 2024
44dc0df
Reland "[rtsan] Intercept aligned_alloc on all versions of OSX if ava…
cjappl Oct 31, 2024
fd1e054
GlobalISel: Fix combine duplicating atomic loads (#111730)
arsenm Oct 31, 2024
5b59b6b
[clang] Fix an em/email typo in Maintainers.rst (#114385)
tbaederr Oct 31, 2024
978a3f6
AMDGPU: Expand flat atomics that may access private memory (#109407)
arsenm Oct 31, 2024
89e21b7
[mlir] Add fast walk-based pattern rewrite driver (#113825)
kuhar Oct 31, 2024
7d9156d
[libc] Fix memory leak in MPFRWrapper cospif with MPFR pre 4.2. (#114…
lntue Oct 31, 2024
0e05b6e
[PS5][Driver] Pass a target emulation to the linker (#114060)
playstation-edd Oct 31, 2024
5bee139
Enable aggressive constant merge in GlobalMerge for AIX (#113956)
syzaara Oct 31, 2024
fb2345f
[llvm][docs] Add Approvals section to GitHub guide (#113434)
DavidSpickett Oct 31, 2024
67a4d01
[InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114356)
dtcxzyw Oct 31, 2024
22bc927
[libc++] Include language.h inside __config (#114269)
ldionne Oct 31, 2024
d6b3adb
[RISCV] Cost ordered bf16/f16 w/ zvfhmin reductions as invalid (#114250)
lukel97 Oct 31, 2024
d43210b
[libc++abi] Fix user prompt in cp-to-llvm.sh. (#114268)
rjmansfield Oct 31, 2024
056028e
[clang][bytecode][NFC] Use const auto* for Type cast result (#114405)
tbaederr Oct 31, 2024
8938745
[flang][cuda] Adding support for registration of boxes (#114323)
Renaud-K Oct 31, 2024
4ede18e
[NFC] clang-format -i llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
shiltian Oct 31, 2024
cebeacd
[lldb] Use PY_VERSION_HEX to simplify conditional compilation (NFC) (…
JDevlieghere Oct 31, 2024
8da4d5d
[mlir][AMDGPU] Support vector<2xbf16> packed atomic fadd (#113929)
krzysz00 Oct 31, 2024
8f899a2
[SYCL] Fix sycl linker's missing dependencies
jhuber6 Oct 31, 2024
f9941f0
Fix performance bug in buildLocationList (#109343)
tmsri Oct 31, 2024
0fcb034
[lldb][test] Fix `LibCxxInternalsRecognizerTestCase` on clang <= 17 (…
vogelsgesang Oct 31, 2024
96a8fce
[analyzer] Fix false double free when including 3rd-party headers wit…
Snape3058 Oct 31, 2024
2c1799d
[flang][cuda] Pass descriptor by reference for CUFMemsetDescriptor (#…
clementval Oct 31, 2024
85673df
Add CHECK-LABEL to avoid source tree path sensitivity in test (#112461)
tex3d Oct 31, 2024
661770c
[clang][modules] De-duplicate some logic in `HeaderFileInfoTrait` (#1…
jansvoboda11 Oct 31, 2024
dabfbec
[LoongArch] Ensure pcaddu18i and jirl adjacency in tail calls for cor…
heiher Oct 31, 2024
ce3b3c9
[NVPTX, InstCombine] instcombine known pointer AS checks. (#114325)
Artem-B Oct 31, 2024
15163fe
[LoongArch] Support bswap for LSX/LASX VTs (#114171)
xen0n Oct 31, 2024
2af8efc
[mlir][python] Raise maximum allowed version (#114050)
marbre Oct 31, 2024
952a97d
[Flang][OpenMP] Properly bind arguments of composite operations (#113…
skatrak Oct 31, 2024
2855501
[DAG] SimplifyMultipleUseDemandedBits - ignore SRL node if we're just…
RKSimon Oct 31, 2024
0c29c39
[libclc] Move min/max/clamp into the CLC builtins library (#114386)
frasercrmck Oct 31, 2024
9d631af
[lldb] Extend FindTypes to optionally search by mangled type name (#1…
augusto2112 Oct 31, 2024
4087360
[libclang/python/tests] Clean up imports (#114409)
DeinAlptraum Oct 31, 2024
6e4e67e
[SLP]Extra check if the intruction matked for removal, must be replac…
alexey-bataev Oct 31, 2024
bbd3bbc
[LLD][COFF] Create EC alias symbols for entry points and exports (#11…
cjacek Oct 31, 2024
c4d0d4f
Fix failing test gcov_ctr_ref_init.ll (#114428)
syzaara Oct 31, 2024
dc22c55
[clang][bytecode] Start implementing __builtin_bit_cast (#112126)
tbaederr Oct 31, 2024
1a9e9f1
[Bazel] Fix for 1bc58a258e2edb6221009a26d0f0037eda6c7c47
Oct 31, 2024
a81920a
[Bazel] Fix for 0f8a6b7d03550cb58cf49535af2de2230abfe997
Oct 31, 2024
dc67f83
[clang][modules] Avoid allocations when reading blob paths (#113984)
jansvoboda11 Oct 31, 2024
00cec0f
[RISCV] Assign separate PseudoVSHA2MS_VV opcodes for each SEW (#114317)
mshockwave Oct 31, 2024
7d14be3
[SLP]Do not account external uses in EH block and in non-returning bl…
alexey-bataev Oct 31, 2024
1979a5f
[lldb] Add a fuzzer for the DWARF Expression Evaluator (#114286)
JDevlieghere Oct 31, 2024
dcdaf62
Revert "Extend `getBackwardSlice` to track values captured from above…
joker-eph Oct 31, 2024
f0aa55f
[lldb] Remove lldb-repro utility
JDevlieghere Oct 31, 2024
6ff6dcf
[SLP]Do not vectorize code in EH and non-returning blocks
alexey-bataev Oct 31, 2024
23b6913
Revert "[JITLink] Use MapVector to stabilize iteration order"
lhames Oct 31, 2024
3170cd0
[JITLink][COFF] Delete trailing whitespace in testcase. NFC.
lhames Oct 31, 2024
fb29faa
[RISCV] Pull __builtin_riscv_clz/ctz out of a nested switch. NFC
topperc Oct 31, 2024
1e1dc6d
[sanitizer_common] AND signals in BlockSignals instead of deleting (#…
thurstond Oct 31, 2024
7768a5a
Ensure `collectTransitivePredecessors` returns Pred only from the Loo…
Nirhar Oct 31, 2024
43e03d5
Revert "[Bazel] Fix for 1bc58a258e2edb6221009a26d0f0037eda6c7c47" (#…
slackito Oct 31, 2024
a8e33dd
Trivial change llvm::CreateInfoOutputFile() to return raw_ostream. NFC
dsandersllvm Oct 31, 2024
c65a6df
[Alignment] Fix old method name in comment. NFC
topperc Oct 31, 2024
5b11110
AMDGPU: Add baseline tests for cmpxchg custom expansion (#109408)
arsenm Oct 31, 2024
2b99aac
[SelectionDAG] Add preliminary plumbing for `samesign` flag
antoniofrighetto Oct 31, 2024
5c0219f
AtomicExpand: Copy metadata from atomicrmw to cmpxchg (#109409)
arsenm Oct 31, 2024
1645133
[MLIR][DLTI] Pretty parsing and printing for DLTI attrs (#113365)
rolfmorel Oct 31, 2024
4338fd6
[llvm][fatlto] Drop any CFI related instrumentation after emitting bi…
ilovepi Oct 31, 2024
4c4ea92
Promote 32bit pseudo instr that infer extsw removal to 64bit in PPCMI…
diggerlin Oct 31, 2024
2ae30bd
Revert "[InstCombine] Fix FMF propagation in `foldSelectIntoOp`" (#11…
gulfemsavrun Oct 31, 2024
c598627
[CFI][LowerTypeTests] Fix indirect call with alias (#113987)
igorkudrin Oct 31, 2024
d658201
[VPlan] Introduce scalar loop header in plan, remove VPLiveOut. (#109…
fhahn Oct 31, 2024
a22d7fe
[libc][i386] syscall support (#114264)
nickdesaulniers Oct 31, 2024
282f390
[libc] Fix path to fcntl_overlay in cmake (#114464)
michaelrj-google Oct 31, 2024
c165476
[VPlan] Fix long comment added in b021464d35ca (NFC).
fhahn Oct 31, 2024
0e09d47
[mlir] Remove debug prints from test pattern
kuhar Oct 31, 2024
aabdd67
Revert "[sanitizer_common] AND signals in BlockSignals instead of del…
thurstond Oct 31, 2024
4997230
[GlobalISel][AArch64] Legalize G_SPLAT_VECTOR (#114006)
tschuett Oct 31, 2024
a27678e
[libc] Fix macro definition hermeticity (#114467)
michaelrj-google Oct 31, 2024
6fde0ac
[lldb] Set LLDB_USE_NATIVE_PDB_READER at the directory level (#114455)
JDevlieghere Oct 31, 2024
6981fbd
[libc] Remove asm-generic includes from tests (#114479)
michaelrj-google Oct 31, 2024
866beec
[clang][lex] Remove `-index-header-map` (#114459)
jansvoboda11 Oct 31, 2024
2309b66
Reland "[NVPTX] Prefer prmt.b32 over bfi.b32" (#114326)
justinfargnoli Oct 31, 2024
e49af0e
[clang][lex] Remove `HeaderFileInfo::Framework` (#114460)
jansvoboda11 Oct 31, 2024
920d6df
[msan] Add test for Arm NEON tbl intrinsics (#114462)
thurstond Oct 31, 2024
93420a9
[mlir:python] Avoid calls to get_op_result_or_results in generated va…
hawkinsp Oct 31, 2024
1822554
Reapply "StructurizeCFG: Optimize phi insertion during ssa reconstruc…
ruiling Nov 1, 2024
b1c517e
[libc][bazel] Fix linter warning - remove unused load. (#114493)
vonosmas Nov 1, 2024
4dfc263
[ORC] skip reoptimization tests on i386 (#114351)
tstellar Nov 1, 2024
f0eb781
[MC][Mips] Rename MipsMCAsmInfo to MipsELFMCAsmInfo (#112592)
hpoussin Nov 1, 2024
a683949
[clang][driver] Improve warning message for target AVR (#114394)
benshi001 Nov 1, 2024
a097b4f
[ConstantFold] Fold `tgamma` and `tgammaf` when the input parameter i…
c8ef Nov 1, 2024
37c109a
Revert "[ConstantFold] Fold `tgamma` and `tgammaf` when the input par…
c8ef Nov 1, 2024
42487cb
[flang][cuda] Use getOrCreateGPUModule in CUFDeviceGlobal pass (#114468)
clementval Nov 1, 2024
4aab6f4
[flang] Avoid generating duplicate symbol in comdat (#114472)
clementval Nov 1, 2024
072ef4f
Revert "Revert "[JITLink] Use MapVector to stabilize iteration order""
lhames Nov 1, 2024
e083531
compiler-rt: sanitizer_common: use close_range() instead of looping (…
kevans91 Nov 1, 2024
ee857c7
[libc] Remove FE_ALL_EXCEPT check in hdr/fenv_macros.h. (#114446)
lntue Nov 1, 2024
54da4e7
[libc++] Split std::hash benchmark out of std::unordered_set benchmar…
ldionne Nov 1, 2024
b0eaa62
[Reland][InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114…
dtcxzyw Nov 1, 2024
6608bcf
[InstrPGO] Avoid using global variable to fix potential data race (#1…
wlei-llvm Nov 1, 2024
cee2381
[GVN][NewGVN][Local] Handle attributes for function calls after CSE (…
dtcxzyw Nov 1, 2024
c0c30d7
[GlobalISel][AArch64] Legalize G_INSERT_VECTOR_ELT for SVE (#114470)
tschuett Nov 1, 2024
c618e21
[Clang] prevent setting default lexical access specifier for missing …
a-tarasyuk Nov 1, 2024
1f1df20
[CGData] Stable Function Map (#112662)
kyulee-com Nov 1, 2024
0cc7889
[polly] Add nullptr check to fix #113772 (#114206)
kartcq Nov 1, 2024
deef072
[Test] Rename the test function name suffix. NFC (#114504)
LiqinWeng Nov 1, 2024
08559a5
Introduce a new WebKit checker for a unchecked local variable (#113708)
rniwa Nov 1, 2024
87f907c
[X86][CFE] Correct parameter type of _cmpccxadd_epi64 (#114367)
FreddyLeaf Nov 1, 2024
dbd3761
[clang][bytecode] Implement IntegralAP bitcasting (#114471)
tbaederr Nov 1, 2024
f5120a2
[X86][AMX] Support AMX-TRANSPOSE (#113532)
phoebewang Nov 1, 2024
25655fa
[clang][NFC] Bail out early when checking system-header/macro suppres…
kadircet Nov 1, 2024
075b20c
[PAC][CodeGen][ELF][AArch64] Support signed GOT (#113811)
kovdan01 Nov 1, 2024
740c2b7
[ARM] Fix CMSE S->NS calls when CONTROL_S.SFPA==0 (CVE-2024-7883) (#1…
ostannard Nov 1, 2024
3faf7c7
[VPlan] Connect scalar header to VPlan CFG in unit tests.
fhahn Nov 1, 2024
6d7b39d
[AMDGPU] Simplify GFX12 VBUFFER definitions. NFC. (#114403)
jayfoad Nov 1, 2024
6dbe31d
AssumeBundleBuilder: switch placeholder from undef to poison [NFC]
nunoplopes Nov 1, 2024
5629c5f
[TOSA] Remove i64 from valid element datatypes in validation (#113380)
lhutton1 Nov 1, 2024
d44ef68
[VPlan][NFC] Add new getMiddleBlock interface to VPlan (#113558)
david-arm Nov 1, 2024
1f404bd
[clang-sycl-linker] Fix use of uninitialized memory in temp files (#1…
sarnex Nov 1, 2024
ac8e815
[clang] Suppress a dangling false positive when owner is moved in mem…
hokein Nov 1, 2024
90f40db
[SLP][REVEC] When ScalarTy is FixedVectorType, the insertion index sh…
HanKuanChen Nov 1, 2024
fc8fea6
[clang][bytecode] Add more checks to _ai32_* builtins (#114412)
tbaederr Nov 1, 2024
12f6a01
[llvm][NFC] Fix typos: replace “avaliable” with “available” across va…
ReVe1uv Nov 1, 2024
1440d55
[PS5][Driver] Pass layout metrics to the linker (#114435)
playstation-edd Nov 1, 2024
04fbf31
[ValueTracking] Handle recursive phis in knownFPClass (#114008)
davemgreen Nov 1, 2024
6d7d8c8
[libc++] Upload CMakeConfigureLog artifacts (#114445)
ldionne Nov 1, 2024
c3bd69d
[VPlan] Don't leak ScalarHeader BasicBlock in unit tests.
fhahn Nov 1, 2024
7ea553b
[clang][bytecode] Implement bitcasts to floating-point values (#114485)
tbaederr Nov 1, 2024
9b4aa93
[InstCombine] Use `m_NotForbidPoison` when folding `(X u< Y) ? -1 : (…
dtcxzyw Nov 1, 2024
c80053a
[InstSimplify][InstCombine][ConstantFold] Move vector div/rem by zero…
dtcxzyw Nov 1, 2024
1dff69e
[RISCV] Add tests for deinterleave shuffles w/o vnsrl.vv
preames Nov 1, 2024
f7a42c9
[NVPTX] Don't use stack memory when bitcasting to/from v2i8 (#113928)
peterbell10 Nov 1, 2024
6f1b6c7
Reapply [APInt] Enable APInt ctor assertion by default (#114539)
nikic Nov 1, 2024
4127b83
[yaml2obj][obj2yaml][objdump] Handle MIPS COFF files (#112591)
hpoussin Nov 1, 2024
97eb3d1
[libc][cmake] make i386 distinct from x86_64 (#114477)
nickdesaulniers Nov 1, 2024
9f711e1
Reapply "Extend getBackwardSlice to track values captured… (#114452)
IanWood1 Nov 1, 2024
4db92cb
[AArch64] Move FeatureUseFixedOverScalableIfEqualCost with other tuni…
davemgreen Nov 1, 2024
c3b4a4f
[OpenACC] Implement 'reduction' Sema on 'loop' construct
erichkeane Oct 7, 2024
3b1b1eb
[lldb] Skip TestDAP_completions on older versions of libcxx
felipepiovezan Nov 1, 2024
4602917
[DAG] Simplify control flow in SelectionDAGBuilder::visitShuffleVecto…
preames Nov 1, 2024
9ec8688
Reapply "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buff…
krzysz00 Nov 1, 2024
9bdd336
[NFC][AMDGPU] Remove the empty FPM as well as the adaptor to MPM (#11…
shiltian Nov 1, 2024
a29d578
[MLIR][Vector] Add Lowering for vector.step (#113655)
manupak Nov 1, 2024
e18e691
[NFC] Simple typo correction. (#114548)
c8ef Nov 1, 2024
89d4017
[RISCV] Add tests for length changing shuffles
lukel97 Nov 1, 2024
69e6179
[InlineCost] Print inline cost for invoke call sites as well (#114476)
mshockwave Nov 1, 2024
6d4b93f
[libc++][NFC] Add a static assertion to document an assumption in std…
ldionne Nov 1, 2024
c125304
AMDGPU: Fix illegal commute with frame index (#114497)
arsenm Nov 1, 2024
8f66f57
[VectorCombine] foldPermuteOfBinops - prefer the new fold for matchin…
RKSimon Nov 1, 2024
6123e21
[flang][runtime][NFC] Allow different memmove function in assign (#11…
clementval Nov 1, 2024
32af628
Re-apply "Revert "[JITLink] Use MapVector to stabilize iteration.."" …
lhames Nov 1, 2024
d314b76
[ORC][ELF] Process .init_array sections in priority order.
lhames Nov 1, 2024
e363157
Revert "[flang][runtime][NFC] Allow different memmove function in ass…
clementval Nov 1, 2024
dd20db8
[mlir][acc] Consistency between acc.loop and acc compute ops (#114549)
razvanlupusoru Nov 1, 2024
ba9cdb0
[lldb] INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P
JDevlieghere Nov 1, 2024
acbb579
[lldb] Fix warning: comparison of integers of different signs
JDevlieghere Nov 1, 2024
a145a9c
[lldb] Disable automatically opening editor for TestSessionSave (#114…
bulbazord Nov 1, 2024
d2e33b2
[AArch64][ARM] Avoid some APFloat copies in tablegen patterns. NFC. (…
RKSimon Nov 1, 2024
3dd6f85
[lldb][NativePDB] Parse global variables. (#114303)
ZequanWu Nov 1, 2024
eebbdee
Reland '[flang][runtime] Allow different memmov function in assign' (…
clementval Nov 1, 2024
baae5ff
[libc] Use relative inclusion for public headers. (#114324)
lntue Nov 1, 2024
b007491
[libc++] Add missing include
ldionne Nov 1, 2024
d417bb2
[PassBuilder] Replace `bool LTOPreLink` with `ThinOrFullLTOPhase Phas…
shiltian Nov 1, 2024
e6b3f64
[SLP][REVEC] VF should be scaled when ScalarTy is FixedVectorType. (#…
HanKuanChen Nov 1, 2024
064c5f6
[mlir][Ptr] Fix license url typo (#114555)
xlauko Nov 1, 2024
8842987
[libc++] Use proper functions instead of macros in bsd_locale_default…
ldionne Nov 1, 2024
58666fd
[flang][cuda] Data transfer with descriptor (#114598)
clementval Nov 1, 2024
8d0e660
[flang][cuda][NFC] Fix format
clementval Nov 1, 2024
2e1b618
Reapply "[Clang][Sema] Always use latest redeclaration of primary tem…
sdkrystian Nov 1, 2024
b83dfa5
[NVPTX] Add support for stacksave, stackrestore intrinsics (#114484)
AlexMaclean Nov 1, 2024
d397efb
[lldb] Improve command status when dwim-print has no result (#114478)
kastiglione Nov 1, 2024
fc00413
[libc] rename LLVM_LIBC_SRC___SUPPORT_UINT_H to LLVM_LIBC_SRC___SUPPO…
a-tarasyuk Nov 1, 2024
146459e
[LV] Bail out on header phis in shouldConsiderInvariant.
fhahn Nov 1, 2024
2fa975d
[mlir] IntegerRangeAnalysis: add support for vector type (#112292)
Hardcode84 Nov 1, 2024
55371cc
[LLDB] Finish implementing support for DW_FORM_data16 (#113508)
walter-erquinigo Nov 1, 2024
bbda4af
[msan] Add handleIntrinsicByApplyingToShadow; support NEON tbl/tbx (#…
thurstond Nov 1, 2024
60e0402
[libc][cmake] disable include tests in overlay mode (#114566)
nickdesaulniers Nov 1, 2024
c4ad194
[SandboxVec][Legality] Per opcode checks (#114145)
Nov 1, 2024
18d1572
[libc] disable failing include tests (#114619)
nickdesaulniers Nov 1, 2024
450b77b
[VPlan] Suppress leak in test (#114624)
vitalybuka Nov 1, 2024
5afbc21
[lld][WebAssembly] Implement various thinlto flags (#114327)
sbc100 Nov 1, 2024
e413614
[NVPTX] Add support for nvvm.flo.[us] intrinsics (#114489)
AlexMaclean Nov 1, 2024
5258f5e
[lldb] Improve locking in PathMappingLists (NFC) (#114576)
JDevlieghere Nov 1, 2024
c418539
[JITLink] Don't return errors from pointer and jump stub creators.
lhames Nov 2, 2024
5354b26
NFC: Make isPPC64 const and use member initializer
hubert-reinterpretcast Nov 2, 2024
c824682
Revert "[clang][bytecode] Implement bitcasts to floating-point values…
tbaederr Nov 2, 2024
e1b488a
[gn] port eeee5a44bbf2 (clang-sycl-linker)
nico Nov 2, 2024
9f72e4d
[gn build] Port 7ec26b23f27f
llvmgnsyncbot Nov 2, 2024
97bf618
[gn build] Port c72a751dabff
llvmgnsyncbot Nov 2, 2024
337c1df
[gn build] Port ef2a104c94a8
llvmgnsyncbot Nov 2, 2024
935191a
[clang-format] Fix a regression in parsing `switch` in macro call (#1…
owenca Nov 2, 2024
99f2be3
[CodeGen] Use first EHLabel as a stop gate for live range shrinking (…
MuellerMP Nov 2, 2024
db024ae
[memprof] Use SmallVector for InlinedCallStack (NFC) (#114599)
kazutakahirata Nov 2, 2024
6c0f9d3
[ORC] Initialize native target in JITLinkRedirectionManagerTest test …
lhames Nov 2, 2024
0667f94
[ORC] Simplify JITLinkRedirectableSymbolManager, fix definition locat…
lhames Nov 2, 2024
78f10da
[ORC] Rename "TargetJD" parameter of redirect method to just "JD". NFC.
lhames Nov 2, 2024
07f6911
[libc] Remove the #include <stdlib.h> header (#114453)
Nov 2, 2024
951ebde
[MC] Export MCDXContainerObjectWriter
MaskRay Nov 2, 2024
d698f3d
[MLIR,Python] Support converting boolean numpy arrays to and from mli…
kasper0406 Nov 2, 2024
f8f0646
[LoongArch][Clang] Add tests for #110834 (#114509)
xry111 Nov 2, 2024
8545727
[ValueTracking] Compute known bits from recursive select/phi (#113707)
dtcxzyw Nov 2, 2024
4243c5b
[LoongArch][clang] Use `signed char` vectors instead of `char` vector…
xry111 Nov 2, 2024
b228751
[LoongArch][Clang] Make the parameter and return value of {x,}vmsknz.…
xry111 Nov 2, 2024
788c95b
Revert "[SelectionDAG] Add preliminary plumbing for `samesign` flag" …
vitalybuka Nov 2, 2024
abae591
[llvm] Fix __builtin_object_size interaction between Negative Offset …
serge-sans-paille Nov 2, 2024
ec59a20
[libc++][test] add test coverage for `flat_map::emplace_hint` (#113773)
huixie90 Nov 2, 2024
6264e19
[X86][AMX] Move TPAIRS into PositionOrder 3, NFCI (#114642)
phoebewang Nov 2, 2024
1c177c5
[Documentation] Update parameter and function attribute section in La…
rajatbajpai Nov 2, 2024
4a99c1c
[clang][NFC] Remove an unnecessary variable in CheckExprLifetime.cpp
hokein Nov 2, 2024
cc34a73
[SDAG] Intersect poison-generating flags after CSE (#114650)
dtcxzyw Nov 2, 2024
f6d1e37
[clang-tidy] fix crash in altera-id-dependent-backward-branch (#113833)
5chmidti Nov 2, 2024
3be1966
[clang][NFC] Use const reference for IndirectLocalPath if possible.
hokein Nov 2, 2024
5faa558
Reapply "[SelectionDAG] Add preliminary plumbing for `samesign` flag"
antoniofrighetto Nov 2, 2024
f8ee216
Revert "[PowerPC] Add custom lowering for ssubo (#111748)" (#114672)
maryammo Nov 2, 2024
d80ca56
[clang] Fix a typo in clangs README (#114410)
PhilippRados Nov 2, 2024
333b60b
[Scalar] Remove unused includes (NFC) (#114645)
kazutakahirata Nov 2, 2024
dbee682
[lldb] Highlight "note:" in CommandReturnObject (#114610)
JDevlieghere Nov 2, 2024
e2a6cce
[InstCombine] Factorise Add and Min/Max using distributivity (#101717)
jf-botto Nov 2, 2024
dfb63df
[lldb] Create dependent modules in parallel (#114507)
JDevlieghere Nov 2, 2024
11bf398
[Minidump] Declare MinidumpFile::getListStream in the header instead …
fsfod Nov 2, 2024
04f73eb
[NFC][AMDGPU] Use structured binding to replace explicit use of std::…
shiltian Nov 2, 2024
e4241e5
[VPlan] Implement computeCost for remaining VPSingleDefRecipes.
fhahn Nov 2, 2024
399a8de
[clang-format] Don't re-annotate CaseLabelColon as ConditionalExpr (#…
owenca Nov 2, 2024
2b68431
[clang-format][doc] Fix a typo
owenca Nov 2, 2024
ef1eacb
[IR] Remove unused includes (NFC) (#114679)
kazutakahirata Nov 2, 2024
524e6af
[ConstantFold] Special case log1p +/-0.0 (#114635)
hubert-reinterpretcast Nov 3, 2024
173a138
[llvm][ADT] Structured bindings for move-only types in `StringMap` (#…
jansvoboda11 Nov 3, 2024
eb3837e
[libc][complex] implement different flavors of `creal` and `cimag` fu…
Sh0g0-1758 Nov 3, 2024
1c84cca
Comment out CF16 entrypoints for aarch64 and CF128 entrypoints for X8…
Sh0g0-1758 Nov 3, 2024
4fa76a1
[RISCV] Add testcase for outlining leaf descendants (#114450)
hiraditya Nov 3, 2024
cc976ea
Support call hierarchy for fields and non-local variables (#113900)
timon-ul Nov 3, 2024
755bfd5
Fix constexpr issue
NoumanAmir657 Nov 4, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM docker.io/library/ubuntu:22.04 as base
ENV LLVM_SYSROOT=/opt/llvm

FROM base as stage1-toolchain
ENV LLVM_VERSION=18.1.8
ENV LLVM_VERSION=19.1.2

RUN apt-get update && \
apt-get install -y \
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down Expand Up @@ -123,6 +124,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down Expand Up @@ -188,6 +190,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down Expand Up @@ -230,6 +233,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down
6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,9 @@ class BinaryFunction {
/// Raw branch count for this function in the profile.
uint64_t RawBranchCount{0};

/// Dynamically executed function bytes, used for density computation.
uint64_t SampleCountInBytes{0};

/// Indicates the type of profile the function is using.
uint16_t ProfileFlags{PF_NONE};

Expand Down Expand Up @@ -1844,6 +1847,9 @@ class BinaryFunction {
/// to this function.
void setRawBranchCount(uint64_t Count) { RawBranchCount = Count; }

/// Return the number of dynamically executed bytes, from raw perf data.
uint64_t getSampleCountInBytes() const { return SampleCountInBytes; }

/// Return the execution count for functions with known profile.
/// Return 0 if the function has no profile.
uint64_t getKnownExecutionCount() const {
Expand Down
1 change: 1 addition & 0 deletions bolt/include/bolt/Utils/CommandLineOpts.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ extern llvm::cl::opt<bool> PrintSections;
enum ProfileFormatKind { PF_Fdata, PF_YAML };

extern llvm::cl::opt<ProfileFormatKind> ProfileFormat;
extern llvm::cl::opt<bool> ShowDensity;
extern llvm::cl::opt<bool> SplitEH;
extern llvm::cl::opt<bool> StrictMode;
extern llvm::cl::opt<bool> TimeOpts;
Expand Down
3 changes: 3 additions & 0 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2577,6 +2577,7 @@ struct CFISnapshot {
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down Expand Up @@ -2715,6 +2716,7 @@ struct CFISnapshotDiff : public CFISnapshot {
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down Expand Up @@ -2864,6 +2866,7 @@ BinaryFunction::unwindCFIState(int32_t FromState, int32_t ToState,
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down
3 changes: 1 addition & 2 deletions bolt/lib/Core/DIEBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,8 +281,7 @@ void DIEBuilder::buildTypeUnits(DebugStrOffsetsWriter *StrOffsetWriter,
for (auto &Row : TUIndex.getRows()) {
uint64_t Signature = Row.getSignature();
// manually populate TypeUnit to UnitVector
DwarfContext->getTypeUnitForHash(DwarfContext->getMaxVersion(), Signature,
true);
DwarfContext->getTypeUnitForHash(Signature, true);
}
}
const unsigned int CUNum = getCUNum(DwarfContext, isDWO());
Expand Down
74 changes: 74 additions & 0 deletions bolt/lib/Passes/BinaryPasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "bolt/Core/ParallelUtilities.h"
#include "bolt/Passes/ReorderAlgorithm.h"
#include "bolt/Passes/ReorderFunctions.h"
#include "bolt/Utils/CommandLineOpts.h"
#include "llvm/Support/CommandLine.h"
#include <atomic>
#include <mutex>
Expand Down Expand Up @@ -223,6 +224,18 @@ static cl::opt<unsigned> TopCalledLimit(
"functions section"),
cl::init(100), cl::Hidden, cl::cat(BoltCategory));

// Profile density options, synced with llvm-profgen/ProfileGenerator.cpp
static cl::opt<int> ProfileDensityCutOffHot(
"profile-density-cutoff-hot", cl::init(990000),
cl::desc("Total samples cutoff for functions used to calculate "
"profile density."));

static cl::opt<double> ProfileDensityThreshold(
"profile-density-threshold", cl::init(60),
cl::desc("If the profile density is below the given threshold, it "
"will be suggested to increase the sampling rate."),
cl::Optional);

} // namespace opts

namespace llvm {
Expand Down Expand Up @@ -1383,6 +1396,7 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
uint64_t StaleSampleCount = 0;
uint64_t InferredSampleCount = 0;
std::vector<const BinaryFunction *> ProfiledFunctions;
std::vector<std::pair<double, uint64_t>> FuncDensityList;
const char *StaleFuncsHeader = "BOLT-INFO: Functions with stale profile:\n";
for (auto &BFI : BC.getBinaryFunctions()) {
const BinaryFunction &Function = BFI.second;
Expand Down Expand Up @@ -1441,6 +1455,22 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
StaleSampleCount += SampleCount;
++NumAllStaleFunctions;
}

if (opts::ShowDensity) {
uint64_t Size = Function.getSize();
// In case of BOLT split functions registered in BAT, executed traces are
// automatically attributed to the main fragment. Add up function sizes
// for all fragments.
if (IsHotParentOfBOLTSplitFunction)
for (const BinaryFunction *Fragment : Function.getFragments())
Size += Fragment->getSize();
double Density = (double)1.0 * Function.getSampleCountInBytes() / Size;
FuncDensityList.emplace_back(Density, SampleCount);
LLVM_DEBUG(BC.outs() << Function << ": executed bytes "
<< Function.getSampleCountInBytes() << ", size (b) "
<< Size << ", density " << Density
<< ", sample count " << SampleCount << '\n');
}
}
BC.NumProfiledFuncs = ProfiledFunctions.size();
BC.NumStaleProfileFuncs = NumStaleProfileFunctions;
Expand Down Expand Up @@ -1684,6 +1714,50 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
BC.outs() << ". Use -print-unknown to see the list.";
BC.outs() << '\n';
}

if (opts::ShowDensity) {
double Density = 0.0;
// Sorted by the density in descending order.
llvm::stable_sort(FuncDensityList,
[&](const std::pair<double, uint64_t> &A,
const std::pair<double, uint64_t> &B) {
if (A.first != B.first)
return A.first > B.first;
return A.second < B.second;
});

uint64_t AccumulatedSamples = 0;
uint32_t I = 0;
assert(opts::ProfileDensityCutOffHot <= 1000000 &&
"The cutoff value is greater than 1000000(100%)");
while (AccumulatedSamples <
TotalSampleCount *
static_cast<float>(opts::ProfileDensityCutOffHot) /
1000000 &&
I < FuncDensityList.size()) {
AccumulatedSamples += FuncDensityList[I].second;
Density = FuncDensityList[I].first;
I++;
}
if (Density == 0.0) {
BC.errs() << "BOLT-WARNING: the output profile is empty or the "
"--profile-density-cutoff-hot option is "
"set too low. Please check your command.\n";
} else if (Density < opts::ProfileDensityThreshold) {
BC.errs()
<< "BOLT-WARNING: BOLT is estimated to optimize better with "
<< format("%.1f", opts::ProfileDensityThreshold / Density)
<< "x more samples. Please consider increasing sampling rate or "
"profiling for longer duration to get more samples.\n";
}

BC.outs() << "BOLT-INFO: Functions with density >= "
<< format("%.1f", Density) << " account for "
<< format("%.2f",
static_cast<double>(opts::ProfileDensityCutOffHot) /
10000)
<< "% total sample counts.\n";
}
return Error::success();
}

Expand Down
15 changes: 12 additions & 3 deletions bolt/lib/Profile/DataAggregator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -638,8 +638,12 @@ void DataAggregator::processProfile(BinaryContext &BC) {
: BinaryFunction::PF_LBR;
for (auto &BFI : BC.getBinaryFunctions()) {
BinaryFunction &BF = BFI.second;
if (getBranchData(BF) || getFuncSampleData(BF.getNames()))
FuncBranchData *FBD = getBranchData(BF);
if (FBD || getFuncSampleData(BF.getNames())) {
BF.markProfiled(Flags);
if (FBD)
BF.RawBranchCount = FBD->getNumExecutedBranches();
}
}

for (auto &FuncBranches : NamesToBranches)
Expand Down Expand Up @@ -845,6 +849,12 @@ bool DataAggregator::doTrace(const LBREntry &First, const LBREntry &Second,
return false;
}

// Set ParentFunc to BAT parent function or FromFunc itself.
BinaryFunction *ParentFunc = getBATParentFunction(*FromFunc);
if (!ParentFunc)
ParentFunc = FromFunc;
ParentFunc->SampleCountInBytes += Count * (Second.From - First.To);

std::optional<BoltAddressTranslation::FallthroughListTy> FTs =
BAT ? BAT->getFallthroughsInTrace(FromFunc->getAddress(), First.To,
Second.From)
Expand All @@ -864,13 +874,12 @@ bool DataAggregator::doTrace(const LBREntry &First, const LBREntry &Second,
<< FromFunc->getPrintName() << ":"
<< Twine::utohexstr(First.To) << " to "
<< Twine::utohexstr(Second.From) << ".\n");
BinaryFunction *ParentFunc = getBATParentFunction(*FromFunc);
for (auto [From, To] : *FTs) {
if (BAT) {
From = BAT->translate(FromFunc->getAddress(), From, /*IsBranchSrc=*/true);
To = BAT->translate(FromFunc->getAddress(), To, /*IsBranchSrc=*/false);
}
doIntraBranch(ParentFunc ? *ParentFunc : *FromFunc, From, To, Count, false);
doIntraBranch(*ParentFunc, From, To, Count, false);
}

return true;
Expand Down
4 changes: 4 additions & 0 deletions bolt/lib/Utils/CommandLineOpts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ cl::opt<std::string> SaveProfile("w",
cl::desc("save recorded profile to a file"),
cl::cat(BoltOutputCategory));

cl::opt<bool> ShowDensity("show-density",
cl::desc("show profile density details"),
cl::Optional, cl::cat(AggregatorCategory));

cl::opt<bool> SplitEH("split-eh", cl::desc("split C++ exception handling code"),
cl::Hidden, cl::cat(BoltOptCategory));

Expand Down
16 changes: 15 additions & 1 deletion bolt/test/X86/pre-aggregated-perf.test
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,21 @@ REQUIRES: system-linux

RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe
RUN: perf2bolt %t.exe -o %t --pa -p %p/Inputs/pre-aggregated.txt -w %t.new \
RUN: --profile-use-dfs | FileCheck %s
RUN: --show-density \
RUN: --profile-density-threshold=9 --profile-density-cutoff-hot=970000 \
RUN: --profile-use-dfs | FileCheck %s --check-prefix=CHECK-P2B

CHECK-P2B: BOLT-INFO: 4 out of 7 functions in the binary (57.1%) have non-empty execution profile
CHECK-P2B: BOLT-INFO: Functions with density >= 21.7 account for 97.00% total sample counts.

RUN: perf2bolt %t.exe -o %t --pa -p %p/Inputs/pre-aggregated.txt -w %t.new \
RUN: --show-density \
RUN: --profile-density-cutoff-hot=970000 \
RUN: --profile-use-dfs 2>&1 | FileCheck %s --check-prefix=CHECK-WARNING

CHECK-WARNING: BOLT-INFO: 4 out of 7 functions in the binary (57.1%) have non-empty execution profile
CHECK-WARNING: BOLT-WARNING: BOLT is estimated to optimize better with 2.8x more samples.
CHECK-WARNING: BOLT-INFO: Functions with density >= 21.7 account for 97.00% total sample counts.

RUN: llvm-bolt %t.exe -data %t -o %t.null | FileCheck %s
RUN: llvm-bolt %t.exe -data %t.new -o %t.null | FileCheck %s
Expand Down
1 change: 1 addition & 0 deletions bolt/tools/driver/llvm-bolt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ void perf2boltMode(int argc, char **argv) {
exit(1);
}
opts::AggregateOnly = true;
opts::ShowDensity = true;
}

void boltDiffMode(int argc, char **argv) {
Expand Down
4 changes: 4 additions & 0 deletions clang-tools-extra/clang-doc/Generators.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,8 @@ std::string getTagType(TagTypeKind AS);
} // namespace doc
} // namespace clang

namespace llvm {
extern template class Registry<clang::doc::Generator>;
} // namespace llvm

#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_GENERATOR_H
1 change: 0 additions & 1 deletion clang-tools-extra/clang-tidy/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ clang_target_link_libraries(clangTidy
clangFrontend
clangLex
clangRewrite
clangSema
clangSerialization
clangTooling
clangToolingCore
Expand Down
1 change: 1 addition & 0 deletions clang-tools-extra/clang-tidy/ClangTidy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,7 @@ class ClangTidyASTConsumer : public MultiplexConsumer {
std::unique_ptr<ClangTidyProfiling> Profiling;
std::unique_ptr<ast_matchers::MatchFinder> Finder;
std::vector<std::unique_ptr<ClangTidyCheck>> Checks;
void anchor() override {};
};

} // namespace
Expand Down
4 changes: 4 additions & 0 deletions clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,8 @@ using ClangTidyModuleRegistry = llvm::Registry<ClangTidyModule>;

} // namespace clang::tidy

namespace llvm {
extern template class Registry<clang::tidy::ClangTidyModule>;
} // namespace llvm

#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CLANGTIDYMODULEREGISTRY_H
Original file line number Diff line number Diff line change
Expand Up @@ -78,33 +78,44 @@ void IdDependentBackwardBranchCheck::registerMatchers(MatchFinder *Finder) {

IdDependentBackwardBranchCheck::IdDependencyRecord *
IdDependentBackwardBranchCheck::hasIdDepVar(const Expr *Expression) {
if (!Expression)
return nullptr;

if (const auto *Declaration = dyn_cast<DeclRefExpr>(Expression)) {
// It is a DeclRefExpr, so check if it's an ID-dependent variable.
const auto *CheckVariable = dyn_cast<VarDecl>(Declaration->getDecl());
const auto *CheckVariable =
dyn_cast_if_present<VarDecl>(Declaration->getDecl());
if (!CheckVariable)
return nullptr;
auto FoundVariable = IdDepVarsMap.find(CheckVariable);
if (FoundVariable == IdDepVarsMap.end())
return nullptr;
return &(FoundVariable->second);
}
for (const auto *Child : Expression->children())
if (const auto *ChildExpression = dyn_cast<Expr>(Child))
if (const auto *ChildExpression = dyn_cast_if_present<Expr>(Child))
if (IdDependencyRecord *Result = hasIdDepVar(ChildExpression))
return Result;
return nullptr;
}

IdDependentBackwardBranchCheck::IdDependencyRecord *
IdDependentBackwardBranchCheck::hasIdDepField(const Expr *Expression) {
if (!Expression)
return nullptr;

if (const auto *MemberExpression = dyn_cast<MemberExpr>(Expression)) {
const auto *CheckField =
dyn_cast<FieldDecl>(MemberExpression->getMemberDecl());
dyn_cast_if_present<FieldDecl>(MemberExpression->getMemberDecl());
if (!CheckField)
return nullptr;
auto FoundField = IdDepFieldsMap.find(CheckField);
if (FoundField == IdDepFieldsMap.end())
return nullptr;
return &(FoundField->second);
}
for (const auto *Child : Expression->children())
if (const auto *ChildExpression = dyn_cast<Expr>(Child))
if (const auto *ChildExpression = dyn_cast_if_present<Expr>(Child))
if (IdDependencyRecord *Result = hasIdDepField(ChildExpression))
return Result;
return nullptr;
Expand Down
3 changes: 3 additions & 0 deletions clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
#include "MultipleStatementMacroCheck.h"
#include "NoEscapeCheck.h"
#include "NonZeroEnumToBoolConversionCheck.h"
#include "NondeterministicPointerIterationOrderCheck.h"
#include "NotNullTerminatedResultCheck.h"
#include "OptionalValueConversionCheck.h"
#include "ParentVirtualCallCheck.h"
Expand Down Expand Up @@ -174,6 +175,8 @@ class BugproneModule : public ClangTidyModule {
"bugprone-multiple-new-in-one-expression");
CheckFactories.registerCheck<MultipleStatementMacroCheck>(
"bugprone-multiple-statement-macro");
CheckFactories.registerCheck<NondeterministicPointerIterationOrderCheck>(
"bugprone-nondeterministic-pointer-iteration-order");
CheckFactories.registerCheck<OptionalValueConversionCheck>(
"bugprone-optional-value-conversion");
CheckFactories.registerCheck<PointerArithmeticOnPolymorphicObjectCheck>(
Expand Down
Loading