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

[pull] main from llvm:main #256

Closed
wants to merge 1,885 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1885 commits
Select commit Hold shift + click to select a range
fed2889
[PowerPC] use correct selection for v16i8/v8i16 splat load
Nov 5, 2021
44596fe
[Polly][Isl] Use the function unsignedFromIslSize to manage a isl::si…
patacca Nov 5, 2021
737f540
[Sema][NFC] Add tests for builtin spaceship operator.
legrosbuffle Nov 5, 2021
93e1802
[LangRef][VP] Document vp.load and vp.store intrinsics
frasercrmck Nov 1, 2021
cb62c37
[ARM] Extra MVE constant select test. NFC
davemgreen Nov 5, 2021
5e9ac7c
[X86] Enable v32i16 rotate lowering on non-BWI targets
RKSimon Nov 5, 2021
6981e5e
[mlir][python] fix constructor generation for optional operands in pr…
ftynse Nov 5, 2021
3a11fb5
[LangRef][VP] Document vp.gather and vp.scatter intrinsics
frasercrmck Nov 1, 2021
8c23990
[fir] Add fir.select and fir.select_rank FIR to LLVM IR conversion pa…
clementval Nov 5, 2021
cd8cb53
[InstCombine] Add additional tests for converting to sadd.sat with si…
davemgreen Nov 5, 2021
c1e7911
[DAG] FoldConstantArithmetic - fold bitlogic(bitcast(x),bitcast(y)) -…
RKSimon Nov 5, 2021
13a442c
Enable -Wformat-pedantic and fix fallout.
marxin Nov 4, 2021
1cb9f37
[FreeBSD] Do not mark __stack_chk_guard as dso_local
adalava Nov 5, 2021
a7b1872
[AArch64] Fix a bug from a pattern for uaddv(uaddlp(x)) ==> uaddlv
jaykang10 Nov 5, 2021
a160aba
[gn build] (manually) port df0ba47c36f
nico Nov 5, 2021
f2703c3
[DAG] FoldConstantArithmetic - rename NumOps -> NumElts. NFC.
RKSimon Nov 5, 2021
c71fbdd
[NFC] Inclusive language: Remove instances of master in URLs
Nov 3, 2021
657a1dc
[AArch64] Add target DAG combine for UUNPKHI/LO
david-arm Nov 4, 2021
7a98761
[NFC] Move CombinationGenerator from Exegesis to ADT
LebedevRI Nov 5, 2021
01d8759
[IR][ShuffleVector] Introduce `isReplicationMask()` matcher
LebedevRI Nov 5, 2021
6cd309b
[gn build] Port 7a98761d74db
llvmgnsyncbot Nov 5, 2021
05f64b5
[InstCombine] add signbit tests for icmp with trunc; NFC
rotateright Nov 3, 2021
8918814
[x86] add tests for vector select; NFC
rotateright Nov 4, 2021
1e7afa2
[AArch64] add tests for vector select; NFC
rotateright Nov 4, 2021
4fc1fc4
[DAGCombiner] add fold for vselect based on mask of signbit
rotateright Nov 5, 2021
ad61718
[X86] `X86TTIImpl::getInterleavedMemoryOpCostAVX512()`: mask is i8 no…
LebedevRI Nov 5, 2021
9e65062
[DAG] FoldConstantVectorArithmetic - remove SDNodeFlags argument
RKSimon Nov 5, 2021
61225c0
[ValueTracking][InstCombine] Introduce and use ComputeMinSignedBits
davemgreen Nov 5, 2021
2672094
Extend timeout of llvm/unittests:ir_tests
tpopp Nov 5, 2021
565cbc2
[gn build] Use build-machine-independent paths in coverage information
nico Nov 5, 2021
a00944e
[clang] 'unused-but-set-variable' warning should not apply to __block…
hyp Nov 5, 2021
cf838eb
[gn build] Reformat all files
nico Nov 5, 2021
ea55503
[fir] Add fir.extract_value and fir.insert_value conversion
clementval Nov 5, 2021
08056e1
[InstCombine] Generalize sadd.sat combine to compute sign bits.
davemgreen Nov 5, 2021
af2ae2c
[BranchRelaxation] Fix warning on unused variable. NFC.
darkbuck Nov 5, 2021
085acce
[RISCV] Enable FP extensions and ABI on fixed-vectors-bitcast.ll.
topperc Nov 4, 2021
9342110
Add NoOpLoopNestPass and LOOPNEST_PASS macro
Nov 5, 2021
2c4ba3e
[Target] Use make_early_inc_range (NFC)
kazutakahirata Nov 5, 2021
3151fca
[NFC] Fix typo in comment for `isReplicationMask()`
LebedevRI Nov 5, 2021
0b36431
[NFCI] InstructionTest: trim `InstructionsTest.ShuffleMaskIsReplicati…
LebedevRI Nov 5, 2021
a83a6c2
[clang] [Objective C] Inclusive language: use objcmt-allowlist-dir-pa…
ZarkoT Nov 5, 2021
7f62759
[polly] Properly create and initialize new PM analysis managers
aeubanks Nov 5, 2021
c68183b
[gn build] Use `=` for of -fdebug-compilation-dir
nico Nov 5, 2021
26a8ceb
[llvm-readobj] Display DT_RELRSZ/DT_RELRENT as " (bytes)"
MaskRay Nov 5, 2021
78d3e0a
sanitizer: Fix -Wpedantic GCC warning
marxin Nov 5, 2021
2f0ee17
[mlir][sparse] test for SIMD reduction chaining in consecutive vector…
aartbik Nov 4, 2021
1b75285
[AIX][Clang] Fix XL product name in AIX XL compatibility warning
ZarkoT Nov 5, 2021
4f4c826
[libomptarget] Drop remote plugin cmake version requirement to match …
JonChesterfield Nov 5, 2021
5c3d718
[RISCV] Support Zfhmin extension
Nov 5, 2021
97c899f
[mlir] Add callback to provide a pass pipeline to MlirOptMain
panickal-xmos Nov 5, 2021
f64580f
[AArch64][GISel] Optimize 8 and 16 bit variants of uaddo.
fhahn Nov 5, 2021
3466e00
Reland "[Attr] support btf_type_tag attribute"
yonghong-song Nov 5, 2021
4070f30
[mlir][DialectConversion] Legalize all live argument conversions
River707 Nov 5, 2021
fc85246
[x86] add tests for vector select; NFC
rotateright Nov 5, 2021
4d513f2
[AArch] add tests for vselect; NFC
rotateright Nov 5, 2021
7e30404
[DAGCombiner] add fold for vselect based on mask of signbit, part 2
rotateright Nov 5, 2021
2d8ec3c
[libcxx] [test] Narrow down XFAILs regarding a MSVC mode specific bug…
mstorsjo Oct 22, 2021
e69f647
Autogen tests for ease of future update
preames Nov 5, 2021
d75ab7d
[fir] Remove getModel<Fortran::ISO::CFI_dim_t> in DescriptorModel.h
clementval Nov 5, 2021
86c01b1
[DebugInfo] [PDB] Force injected source paths to use backslashes
mstorsjo Oct 7, 2021
f095592
[unittests] [DWARF] Generalize path separator expectations
mstorsjo Oct 7, 2021
a2c9cf4
[lldb] Use is_style_posix() for path style checks
mstorsjo Nov 5, 2021
38c366e
[mlir][sparse] run more integration tests with and without SIMD
aartbik Nov 4, 2021
baa820c
Add some support for pretty printing Twines containing std::string in…
dwblaikie Nov 5, 2021
c92a253
[libc++] Fix hang in counting_semaphore::try_acquire
Quuxplusone Nov 4, 2021
10eb32f
[lldb] Improve 'lang objc tagged-pointer info' command
JDevlieghere Nov 5, 2021
6d48e25
[lldb] Use std::string instead of llvm::Twine in GDBRemoteCommunicati…
JDevlieghere Nov 5, 2021
a5cd278
[IR] Improve member `ShuffleVectorInst::isReplicationMask()`
LebedevRI Nov 5, 2021
456a7e5
[clang][asan] Add test for ensuring PR52382 is fixed
PiJoules Nov 5, 2021
7a189fb
Revert "[fir] Add fir.extract_value and fir.insert_value conversion"
clementval Nov 5, 2021
bdaa181
[TwoAddressInstructionPass] Update existing physreg live intervals
jayfoad Nov 4, 2021
f82bdf0
[NFC][Verifier] Remove redundant Module parameters
slinder1 Nov 4, 2021
04fa7cb
[NFC][CostModel] Add exhaustive test coverage for replication shuffles
LebedevRI Nov 5, 2021
6278682
In spir functions, llvm.dbg.declare intrinsics created
zahiraam Nov 1, 2021
3c7960c
[libFuzzer] Disable Msan on InternalStrnlen
vitalybuka Nov 5, 2021
d24a0e8
[SCEV] Use constant range of RHS to prove NUW on narrow IV in trip co…
preames Nov 5, 2021
f57d0e2
DWARF Simplified Template Names: Narrow down the handling for operato…
dwblaikie Nov 5, 2021
845561e
[mlir][sparse] Factoring magic numbers into a header
wrengr Nov 5, 2021
5bf191a
[llvm-profgen] Fix index out of bounds error while using ip.advance
wlei-llvm Nov 5, 2021
ca1a8be
[Transforms] Fix a warning
kazutakahirata Nov 6, 2021
87e53a0
[llvm] Use make_early_inc_range (NFC)
kazutakahirata Nov 6, 2021
d488f1f
[RISCV][NFC]: Refactor classes for load/store instructions of RVV
Nov 4, 2021
54d891a
[RISCV]: Fix typo by abstracting VWholeLoad* classes
Nov 4, 2021
c0d22dd
Revert "[libcxxabi][ARM] Make CXX_end_cleanup compatible with Armv6-M"
vvereschaka Nov 6, 2021
05fbe75
[lldb] Remove nested switches from ARMGetSupportedArchitectureAtIndex…
JDevlieghere Nov 6, 2021
ef2efd2
[lldb] Remove 'result' variable which is set but not used (NFC)
JDevlieghere Nov 6, 2021
0a5c26f
DebugInfo: Simplified Template Names: drop unneeded space in arrays
dwblaikie Nov 6, 2021
cd7a2bf
[lldb] Don't set the OS for ARMGetSupportedArchitectureAtIndex
JDevlieghere Nov 6, 2021
7875802
Fix lld test after dwarfdump array syntax change
dwblaikie Nov 6, 2021
1ab9a29
[lldb] Fix C2360: initialization of 'identifier' is skipped by 'case'…
JDevlieghere Nov 6, 2021
7584ef7
[Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analy…
aqjune Nov 6, 2021
89ad282
Revert "[Clang/Test]: Rename enable_noundef_analysis to disable-nound…
aqjune Nov 6, 2021
0dc856e
[clang-tidy] run-clang-tidy.py: analyze unique files only
serkazi Nov 6, 2021
39ead64
[sanitizer] Intercept lstat on Linux
vitalybuka Nov 6, 2021
b5aef90
[Clang] Fix instantiation of OpaqueValueExprs (Bug #45964)
ricejasonf Nov 5, 2021
aacfbb9
[Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analy…
hyeongyukim Oct 15, 2021
63fff0f
Fix lit test failures in CodeGenCoroutines
hyeongyukim Nov 6, 2021
025a2f7
[InstCombine] add tests for umax with sub; NFC
rotateright Nov 5, 2021
83c2fb9
[InstCombine] match usub.sat from umax intrinsic
rotateright Nov 5, 2021
39c4c7d
[DAGCombiner] remove vselect fold that was accidentally added
rotateright Nov 6, 2021
f8efc5c
[NFC][TTI] Add/extract `getReplicationShuffleCost()` method, deduplic…
LebedevRI Nov 6, 2021
a30ec47
[TTI][CostModel] `getUserCost()`: recognize replication shuffles and …
LebedevRI Nov 6, 2021
19a7e47
[MLIR][OpenMP] Added omp.sections and omp.section
shraiysh Nov 6, 2021
1c2ad70
[Test][SLPVectorizer] Precommit test for PR52275
anton-afanasyev Nov 6, 2021
23566f1
[NFC][X86][Costmodel] Add tests for i32/i64 replication shuffles
LebedevRI Nov 6, 2021
f862787
[SCEV] Make eraseValueFromMap() private (NFC)
nikic Nov 6, 2021
859a6d9
[llvm-objdump] Remove untested diagnostic "missing data dir for TLS t…
MaskRay Nov 6, 2021
e3cec17
[InstSimplify] Remove incorrect icmp of gep fold (PR52429)
nikic Nov 6, 2021
14d656b
[Target] Use llvm::reverse (NFC)
kazutakahirata Nov 6, 2021
815e8b5
[Hexagon] Remove an extraneous variable (NFC)
kazutakahirata Nov 6, 2021
cefc01f
[X86] Simplify a call to MachineBasicBlock::erase (NFC)
kazutakahirata Nov 6, 2021
9f0194b
[ConstantRange] Add getEquivalentICmp() variant with offset (NFCI)
nikic Nov 6, 2021
2249ece
[IR][ShuffleVector] Fix Wdangling-else warning in InstructionsTest
Nov 6, 2021
d9e2c8f
[yaml2obj][COFF] Make some PEHeader fields optional
MaskRay Nov 6, 2021
bbab17c
[Clang][Attr] fix a btf_type_attr CGDebugInfo codegen bug
yonghong-song Nov 7, 2021
843d1ed
[llvm] Use llvm::reverse (NFC)
kazutakahirata Nov 7, 2021
e4bab21
[AMDGPU] Use MachineBasicBlock::{predecessors,successors} (NFC)
kazutakahirata Nov 7, 2021
22e21da
[WebAssembly] Remove unused declaration SelectExternRefAddr (NFC)
kazutakahirata Nov 7, 2021
815b9f5
[hwasan] Replace _Unwind_Word with uintptr_t
MaskRay Nov 7, 2021
70986ea
[sanitizer][aarch64] Add cast to drop reliance on the type of uc_mcon…
MaskRay Nov 7, 2021
ad523cc
[NFC][Docs] Add missing Doxygen group comments for LLVM-C
junlarsen Nov 7, 2021
0ff1ede
[DAG] SimplifyVBinOp - replace FoldConstantVectorArithmetic with Fold…
RKSimon Nov 5, 2021
f7880a7
[X86] Add AVX512 test coverage to vselect-zero.ll
RKSimon Nov 7, 2021
b5ef56f
[X86][AVX] Add missing X86ISD::VBROADCAST(v4f32 -> v8f32) isel patter…
RKSimon Nov 7, 2021
8adb6d6
[clang] Use llvm::reverse. NFCI.
d0k Nov 7, 2021
9b8b164
Put implementation details into anonymous namespaces. NFCI.
d0k Nov 7, 2021
d391e4f
[X86] Update RET/LRET instruction to use the same naming convention a…
RKSimon Nov 7, 2021
f057756
[SLP] Fix Wdocumentation warning - remove \returns from void function…
RKSimon Nov 7, 2021
9a140a1
[libc++] Make test_allocator constexpr-friendly for constexpr string/…
philnik777 Nov 7, 2021
69603ae
[libc++][doc] Don't mention Prague twice.
mordante Nov 7, 2021
2e20ff8
[AVR] Remove a global initializer. NFCI.
d0k Nov 7, 2021
db27867
[compiler-rt] Produce the right arch suffix for arm baremetal
m-gupta Nov 7, 2021
eb1c7c1
[AST, Analysis] Use llvm::reverse (NFC)
kazutakahirata Nov 7, 2021
41ef318
[ARM, X86] Use MachineBasicBlock::{predecessors,successors} (NFC)
kazutakahirata Nov 7, 2021
aee86f9
[AMDGPU] Remove unused declaration selectSMRD (NFC)
kazutakahirata Nov 7, 2021
a8c318b
[BasicAA] Use index size instead of pointer size
nikic Oct 23, 2021
17acd6d
[AArch64] Rewrite and update fcvt-fixed.ll. NFC
davemgreen Nov 7, 2021
d09a21a
[lldb] Remove failures case from TestTaggedPointerCmd
JDevlieghere Nov 7, 2021
cf71a5e
[ConstantRange] Support zero size in isSizeLargerThan()
nikic Nov 7, 2021
2060895
[ConstantRange] Add exact union/intersect (NFC)
nikic Nov 7, 2021
54c5634
[fir] Add fir.extract_value and fir.insert_value conversion
clementval Nov 7, 2021
55e4cd8
[X86][AVX2] Recognise 256-bit truncation shuffles and mask 256-bit so…
RKSimon Nov 7, 2021
0d182d9
[Transforms] Use make_early_inc_range (NFC)
kazutakahirata Nov 8, 2021
c7d27f9
[ORE][AsmPrinter] add testcase for D113173; NFC
Nov 4, 2021
50acbbe
[AsmPrinter][ORE] use correct opcode name
Nov 4, 2021
4fb282f
[CSKY] Add CSKY 16-bit instruction format and encoding
zixuan-wu Nov 8, 2021
7c6f595
[PowerPC] comment for different input register classes; nfc
Nov 8, 2021
e32cf69
[RISCV] Optimize (add (mul r, c0), c1)
benshi001 Oct 5, 2021
9b6f264
[XCOFF][llvm-readobj] improve the relocation output.
EsmeYi Nov 8, 2021
a0633f5
[AMDGPU] Test Commit. NFC
skc7 Nov 8, 2021
bc74231
[libc++] Always define a key function for std::bad_function_call in t…
ldionne Nov 2, 2021
29abf2a
[fir] Add test for FIR types conversion
clementval Nov 8, 2021
d7ab283
Revert "[libc++] Always define a key function for std::bad_function_c…
var-const Nov 8, 2021
12b5582
[libc++][NFC] Inline most of `__vector_base` into `vector`.
var-const Nov 8, 2021
bf3784b
[AArch64] Canonicalize X*(Y+1) or X*(1-Y) to madd/msub
wweiandrew Nov 8, 2021
9b5e2b5
[PowerPC] Implement basic macro fusion in Power10
ecnelises Nov 8, 2021
c42bb30
[LoopVectorize] Permit fixed-width epilogue loops for scalable vector…
david-arm Sep 7, 2021
4375430
[flang] Set the addendum when establishing pointer section in descriptor
jeanPerier Nov 8, 2021
a982940
[AArch64] Combine fptoi.sat(fmul) to fixed point cvtf
davemgreen Nov 8, 2021
9fbcad3
[mlir][linalg] Improve the padding packing loop computation.
Nov 8, 2021
1f60302
[AArch64] Precommit i256 test from D111530
RKSimon Nov 8, 2021
c2b91ee
[VE] default to integrated asm in AsmInfo
Nov 8, 2021
ddd11b9
[flang][CodeGen] Transform `fir.call` to `llvm.call`
banach-space Nov 5, 2021
0808d95
[OpenMP] libomp: Fix handling of barrier pattern environment variables
t-msn Nov 8, 2021
1726c95
[mlir][linalg] Improve hoist padding buffer size computation.
Nov 8, 2021
f60d3ec
[DAG] Add BuildVectorSDNode::getConstantRawBits helper
RKSimon Nov 8, 2021
db28934
[IndVars] Pass TTI to replaceCongruentIVs
d-makogon Nov 2, 2021
4a59694
[AArch64][SVE] Combine FADD and FMUL aarch64 intrinsics to FMLA
MDevereau Nov 3, 2021
8d4eba6
Revert "[IndVars] Pass TTI to replaceCongruentIVs"
d-makogon Nov 8, 2021
17d9560
Making the code compliant to the documentation about Floating Point
zahiraam Aug 12, 2021
7e92b75
[fir] Add fir.box type conversion
clementval Nov 8, 2021
0425087
Revert "Making the code compliant to the documentation about Floating…
nico Nov 8, 2021
a10a69f
[SPIR-V] Add SPIR-V triple and clang target info.
Nov 8, 2021
438437c
Making the code compliant to the documentation about Floating Point
zahiraam Aug 12, 2021
8d38c24
[SVE][CodeGen] Improve codegen for some FP insert_subvector cases
david-arm Nov 5, 2021
2118623
[Test][SCCP] Update autogenerated test before precommit
anton-afanasyev Oct 28, 2021
fba1f36
[Test][SCCP] Precommit tests for PR52253
anton-afanasyev Oct 24, 2021
f059b04
[DAG] Add SelectionDAG::ComputeMinSignedBits helper
RKSimon Nov 8, 2021
a12bfac
[analyzer] Retrieve a value from list initialization of multi-dimensi…
ASDenysPetrov Oct 22, 2021
c3b15b7
[NFC] Inclusive Language: change master to main for .chm files
Nov 5, 2021
495e258
[AArch64][SVE] Add FP types to the supported SVE structure load/store…
cmd120 Nov 8, 2021
2c37ae6
[nfc] Refactor CGGPUBuiltin to help review D112680
JonChesterfield Nov 8, 2021
c4396b7
[LLVM][llvm-cfi] Inclusive language: replace uses of blacklist with i…
ZarkoT Nov 8, 2021
c63b0f4
[NFC][LoopVectorize] Make the createStepForVF interface more caller-f…
david-arm Nov 3, 2021
7f32ede
[X86] combineMulToPMADDWD - use ComputeMinSignedBits(). NFCI.
RKSimon Nov 8, 2021
28b3cac
[libc++][CI] Add AIX pipeline config
daltenty Oct 19, 2021
ce4fa93
[SCCP] Tune cast instruction handling for overdefined operand
anton-afanasyev Oct 24, 2021
79f52af
[AMDGPU] Make getInstSizeInBytes more generic
Sisyph Nov 5, 2021
16b07c8
[clang-tidy] Add check for initialization of `absl::Cleanup`.
CJ-Johnson Nov 8, 2021
a9e83f2
[gn build] Port 16b07c866ae7
llvmgnsyncbot Nov 8, 2021
4ed1327
[ARM] Precommit i128 test from D111530
RKSimon Nov 8, 2021
190bde4
Revert "Making the code compliant to the documentation about Floating…
AaronBallman Nov 8, 2021
59a4bbe
[fir] Add !fir.logical type conversion
clementval Nov 8, 2021
2829376
[LV] Use VScaleForTuning to fine-tune the cost per lane.
sdesmalen-arm Nov 8, 2021
3c06920
[llvm] Use make_early_inc_range (NFC)
kazutakahirata Nov 8, 2021
fd9b099
Revert "[Clang/Test]: Rename enable_noundef_analysis to disable-nound…
hyeongyukim Nov 8, 2021
56ada0f
[mlir][vector] Use dyn_cast instead of cast in patterns
antiagainst Nov 8, 2021
9a2fdc3
[MLIR] Attribute and type formats in ODS
Oct 15, 2021
304edbb
[RISCV] SMUL_LOHI/UMUL_LOHI should expand for RVV.
topperc Nov 8, 2021
e3bfb6a
[VPlan] Make sure recurrence splice is not inserted between phis.
fhahn Nov 8, 2021
2db66f8
[clang] Fortify warning for scanf calls with field width too big.
Oct 14, 2021
8d3b28e
[NFC] Fix lit test failures for clang/CodegenCoroutines
hyeongyukim Nov 8, 2021
c492166
[Flang][driver] Update the docs
banach-space Oct 11, 2021
e782360
[flang] Complete the fix for NAMELIST look-ahead case
klausler Nov 3, 2021
8256802
[mlir][tosa] Spec v0.23 updates
sjarus Nov 8, 2021
c51f947
[NFC][llvm-libtool-darwin] Remove unnecessary conditionals around errors
Nov 8, 2021
1658980
[NFC][llvm-libtool-darwin] Clean up names
Nov 8, 2021
db81d8f
[OpenMP] Lower printf to __llvm_omp_vprintf
JonChesterfield Nov 8, 2021
ca21488
[llvm] Inclusive language: replace master with main in file paths in …
Oct 27, 2021
c499d69
[openmp] Fix build, test passes on CI unexpectedly
JonChesterfield Nov 8, 2021
333b419
[flang] Fix folding of EPSILON()
klausler Oct 29, 2021
c0b298f
Add `LambdaCapture`-related matchers.
Nov 8, 2021
f411c1d
[flang] Fix crash in semantic error recovery situation
klausler Nov 2, 2021
d398e8f
[ASTMatcher] Provide a definition for the lambdaCapture matcher
d0k Nov 8, 2021
8bd8dd1
Extend obj2yaml to optionally preserve raw __LINKEDIT/__DATA segments.
adrian-prantl Nov 8, 2021
1837a83
[libc++] Trigger a rebuild of the CI Docker images
ldionne Nov 8, 2021
80f0bb5
[flang] Distinguish error/warning cases for bad jumps into constructs
klausler Oct 29, 2021
6d44387
[flang] Make subscript list argument a nullable pointer
klausler Oct 20, 2021
1376301
[InstCombine] Canonicalize range test idiom
nikic Nov 6, 2021
e2b1d32
[AArch][x86] add tests for vselect; NFC
rotateright Nov 8, 2021
46ec93a
[Support] [VirtualFileSystem] Detect the windows_slash path style
mstorsjo Oct 8, 2021
2ca6fc3
[clang] [DirectoryWatcher] Remove leading \\?\ from GetFinalPathNameB…
mstorsjo Oct 7, 2021
98f0bf7
[clang-move] Fix unit tests with forward slash as separator on windows
mstorsjo Oct 8, 2021
dc9edc6
Revert "[openmp] Fix build, test passes on CI unexpectedly"
JonChesterfield Nov 8, 2021
0fa45d6
Revert "[OpenMP] Lower printf to __llvm_omp_vprintf"
JonChesterfield Nov 8, 2021
cebb0a6
[ELF][ARM] Improve error message for unknown relocation
MaskRay Nov 8, 2021
254ecfb
[mlir][ods] fix c++11 build
Mogball Nov 8, 2021
fae4409
Attempt to work around type checking error on older compilers
adrian-prantl Nov 8, 2021
ca47447
[flang] Don't reference non-invariant symbols in shape expressions
klausler Nov 1, 2021
f3798ad
Static verifier for type/attribute in DRR
ChiaHungDuan Nov 8, 2021
bf22593
[InferAddressSpaces] Support assumed addrspaces from addrspace predic…
darkbuck Oct 15, 2021
7ad693a
[modules] Update visibility for merged ObjCProtocolDecl definitions.
vsapsai Oct 15, 2021
9305e3b
[NFC] Update the test compiler to use clangxx.
snehasish Nov 8, 2021
9a3cb73
[libc++] [test] Eliminate the libcpp-no-if-constexpr feature flag.
Quuxplusone Nov 6, 2021
2caf85a
[ARM] implement LOAD_STACK_GUARD for remaining targets
ardbiesheuvel Nov 8, 2021
4438201
[compiler-rt] TlsBaseAddr value for darwin arm64
devnexen Nov 8, 2021
f2c7c3c
[ObjC][ARC] Invalidate an entry of UnderlyingObjCPtrCache when the
ahatanaka Nov 8, 2021
2494e9c
[mlir][docs] Unify style (nfc)
marbre Nov 8, 2021
62dd488
Add llvm-tli-checker
pogo59 Nov 8, 2021
28a06a1
[NFC][FuncAttrs] Keep track of modified functions
aeubanks Nov 5, 2021
3762331
[RISCV] Use TargetConstant for CSR number for READ_CSR/WRITE_CSR.
topperc Nov 8, 2021
1b409df
[NFC] Initial documentation for declare target indirect support.
Sep 21, 2021
2d99c81
[mlir-tblgen] Support `either` in Tablegen DRR.
ChiaHungDuan Nov 8, 2021
43bb5f0
[docs] Remove outdated documentation for the legacy Atom-based LLD
MaskRay Nov 8, 2021
a9a510f
[bugpoint] Fix repeated off-by-one error in debug output
jrtc27 Nov 8, 2021
1297c21
Revert "Add llvm-tli-checker"
pogo59 Nov 8, 2021
4a0c89a
[WebAssembly] Fix fixBrTableIndex removing instruction without checki…
aardappel Nov 5, 2021
ae40d62
[mlir] Refactor ElementsAttr's value access API
River707 Nov 9, 2021
38be8f4
Add llvm-tli-checker
pogo59 Nov 9, 2021
62eeb3e
[WebAssembly] fix __stack_pointer being added to .debug_aranges
aardappel Nov 8, 2021
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.
1 change: 1 addition & 0 deletions .github/workflows/repo-lockdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ permissions:
jobs:
action:
runs-on: ubuntu-latest
if: github.repository == 'llvm/llvm-project'
steps:
- uses: dessant/repo-lockdown@v2
with:
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,7 @@ This is an example work-flow and configuration to get and build the LLVM source:
* ``-DLLVM_ENABLE_PROJECTS='...'`` --- semicolon-separated list of the LLVM
sub-projects you'd like to additionally build. Can include any of: clang,
clang-tools-extra, compiler-rt,cross-project-tests, flang, libc, libclc,
libcxx, libcxxabi, libunwind, lld, lldb, mlir, openmp, parallel-libs,
polly, or pstl.
libcxx, libcxxabi, libunwind, lld, lldb, mlir, openmp, polly, or pstl.

For example, to build LLVM, Clang, libcxx, and libcxxabi, use
``-DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi"``.
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-tidy/ClangTidy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ static CheckersList getAnalyzerCheckersAndPackages(ClangTidyContext &Context,
#endif // CLANG_TIDY_ENABLE_STATIC_ANALYZER

std::unique_ptr<clang::ASTConsumer>
ClangTidyASTConsumerFactory::CreateASTConsumer(
ClangTidyASTConsumerFactory::createASTConsumer(
clang::CompilerInstance &Compiler, StringRef File) {
// FIXME: Move this to a separate method, so that CreateASTConsumer doesn't
// modify Compiler.
Expand Down Expand Up @@ -573,7 +573,7 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
Action(ClangTidyASTConsumerFactory *Factory) : Factory(Factory) {}
std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &Compiler,
StringRef File) override {
return Factory->CreateASTConsumer(Compiler, File);
return Factory->createASTConsumer(Compiler, File);
}

private:
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-tidy/ClangTidy.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class ClangTidyASTConsumerFactory {

/// Returns an ASTConsumer that runs the specified clang-tidy checks.
std::unique_ptr<clang::ASTConsumer>
CreateASTConsumer(clang::CompilerInstance &Compiler, StringRef File);
createASTConsumer(clang::CompilerInstance &Compiler, StringRef File);

/// Get the list of enabled checks.
std::vector<std::string> getCheckNames();
Expand Down
84 changes: 35 additions & 49 deletions clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Regex.h"
#include <tuple>
#include <utility>
#include <vector>
using namespace clang;
using namespace tidy;
Expand Down Expand Up @@ -65,7 +66,7 @@ class ClangTidyDiagnosticRenderer : public DiagnosticRenderer {
? tooling::DiagnosticMessage(Message, Loc.getManager(), Loc)
: tooling::DiagnosticMessage(Message);

// Make sure that if a TokenRange is receieved from the check it is unfurled
// Make sure that if a TokenRange is received from the check it is unfurled
// into a real CharRange for the diagnostic printer later.
// Whatever we store here gets decoupled from the current SourceManager, so
// we **have to** know the exact position and length of the highlight.
Expand Down Expand Up @@ -321,11 +322,11 @@ void ClangTidyDiagnosticConsumer::finalizeLastError() {

static bool isNOLINTFound(StringRef NolintDirectiveText, StringRef CheckName,
StringRef Line, size_t *FoundNolintIndex = nullptr,
bool *SuppressionIsSpecific = nullptr) {
StringRef *FoundNolintChecksStr = nullptr) {
if (FoundNolintIndex)
*FoundNolintIndex = StringRef::npos;
if (SuppressionIsSpecific)
*SuppressionIsSpecific = false;
if (FoundNolintChecksStr)
*FoundNolintChecksStr = StringRef();

size_t NolintIndex = Line.find(NolintDirectiveText);
if (NolintIndex == StringRef::npos)
Expand All @@ -345,18 +346,13 @@ static bool isNOLINTFound(StringRef NolintDirectiveText, StringRef CheckName,
if (BracketEndIndex != StringRef::npos) {
StringRef ChecksStr =
Line.substr(BracketIndex, BracketEndIndex - BracketIndex);
// Allow disabling all the checks with "*".
if (ChecksStr != "*") {
// Allow specifying a few check names, delimited with comma.
SmallVector<StringRef, 1> Checks;
ChecksStr.split(Checks, ',', -1, false);
llvm::transform(Checks, Checks.begin(),
[](StringRef S) { return S.trim(); });
if (llvm::find(Checks, CheckName) == Checks.end())
return false;
if (SuppressionIsSpecific)
*SuppressionIsSpecific = true;
}
if (FoundNolintChecksStr)
*FoundNolintChecksStr = ChecksStr;
// Allow specifying a few checks with a glob expression, ignoring
// negative globs (which would effectively disable the suppression).
GlobList Globs(ChecksStr, /*KeepNegativeGlobs=*/false);
if (!Globs.contains(CheckName))
return false;
}
}

Expand Down Expand Up @@ -388,28 +384,27 @@ static ClangTidyError createNolintError(const ClangTidyContext &Context,
return Error;
}

static Optional<ClangTidyError>
tallyNolintBegins(const ClangTidyContext &Context, const SourceManager &SM,
StringRef CheckName, SmallVector<StringRef> Lines,
SourceLocation LinesLoc,
SmallVector<SourceLocation> &SpecificNolintBegins,
SmallVector<SourceLocation> &GlobalNolintBegins) {
// Keep a running total of how many NOLINT(BEGIN...END) blocks are active.
static Optional<ClangTidyError> tallyNolintBegins(
const ClangTidyContext &Context, const SourceManager &SM,
StringRef CheckName, SmallVector<StringRef> Lines, SourceLocation LinesLoc,
SmallVector<std::pair<SourceLocation, StringRef>> &NolintBegins) {
// Keep a running total of how many NOLINT(BEGIN...END) blocks are active, as
// well as the bracket expression (if any) that was used in the NOLINT
// expression.
size_t NolintIndex;
bool SuppressionIsSpecific;
auto List = [&]() -> SmallVector<SourceLocation> * {
return SuppressionIsSpecific ? &SpecificNolintBegins : &GlobalNolintBegins;
};
StringRef NolintChecksStr;
for (const auto &Line : Lines) {
if (isNOLINTFound("NOLINTBEGIN", CheckName, Line, &NolintIndex,
&SuppressionIsSpecific)) {
&NolintChecksStr)) {
// Check if a new block is being started.
List()->emplace_back(LinesLoc.getLocWithOffset(NolintIndex));
NolintBegins.emplace_back(std::make_pair(
LinesLoc.getLocWithOffset(NolintIndex), NolintChecksStr));
} else if (isNOLINTFound("NOLINTEND", CheckName, Line, &NolintIndex,
&SuppressionIsSpecific)) {
&NolintChecksStr)) {
// Check if the previous block is being closed.
if (!List()->empty()) {
List()->pop_back();
if (!NolintBegins.empty() &&
NolintBegins.back().second == NolintChecksStr) {
NolintBegins.pop_back();
} else {
// Trying to close a nonexistent block. Return a diagnostic about this
// misuse that can be displayed along with the original clang-tidy check
Expand All @@ -432,42 +427,33 @@ lineIsWithinNolintBegin(const ClangTidyContext &Context,
StringRef TextAfterDiag) {
Loc = SM.getExpansionRange(Loc).getBegin();
SourceLocation FileStartLoc = SM.getLocForStartOfFile(SM.getFileID(Loc));
SmallVector<std::pair<SourceLocation, StringRef>> NolintBegins;

// Check if there's an open NOLINT(BEGIN...END) block on the previous lines.
SmallVector<StringRef> PrevLines;
TextBeforeDiag.split(PrevLines, '\n');
SmallVector<SourceLocation> SpecificNolintBegins;
SmallVector<SourceLocation> GlobalNolintBegins;
auto Error =
tallyNolintBegins(Context, SM, CheckName, PrevLines, FileStartLoc,
SpecificNolintBegins, GlobalNolintBegins);
auto Error = tallyNolintBegins(Context, SM, CheckName, PrevLines,
FileStartLoc, NolintBegins);
if (Error) {
SuppressionErrors.emplace_back(Error.getValue());
return false;
}
bool WithinNolintBegin =
!SpecificNolintBegins.empty() || !GlobalNolintBegins.empty();
bool WithinNolintBegin = !NolintBegins.empty();

// Check that every block is terminated correctly on the following lines.
SmallVector<StringRef> FollowingLines;
TextAfterDiag.split(FollowingLines, '\n');
Error = tallyNolintBegins(Context, SM, CheckName, FollowingLines, Loc,
SpecificNolintBegins, GlobalNolintBegins);
NolintBegins);
if (Error) {
SuppressionErrors.emplace_back(Error.getValue());
return false;
}

// The following blocks were never closed. Return diagnostics for each
// instance that can be displayed along with the original clang-tidy check
// that the user was attempting to suppress.
for (const auto NolintBegin : SpecificNolintBegins) {
auto Error = createNolintError(Context, SM, NolintBegin, true);
SuppressionErrors.emplace_back(Error);
}
for (const auto NolintBegin : GlobalNolintBegins) {
auto Error = createNolintError(Context, SM, NolintBegin, true);
SuppressionErrors.emplace_back(Error);
for (const auto &NolintBegin : NolintBegins) {
SuppressionErrors.emplace_back(
createNolintError(Context, SM, NolintBegin.first, true));
}

return WithinNolintBegin && SuppressionErrors.empty();
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ class CompilerInstance;
class SourceManager;
namespace ast_matchers {
class MatchFinder;
}
} // namespace ast_matchers
namespace tooling {
class CompilationDatabase;
}
} // namespace tooling

namespace tidy {

Expand Down
6 changes: 3 additions & 3 deletions clang-tools-extra/clang-tidy/ClangTidyOptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ struct ClangTidyOptions {

std::string Value;
/// Priority stores relative precedence of the value loaded from config
/// files to disambigute local vs global value from different levels.
/// files to disambiguate local vs global value from different levels.
unsigned Priority;
};
typedef std::pair<std::string, std::string> StringPair;
Expand All @@ -129,8 +129,8 @@ struct ClangTidyOptions {
/// and using a FileOptionsProvider, it will take a configuration file in the
/// parent directory (if any exists) and apply this config file on top of the
/// parent one. IF true and using a ConfigOptionsProvider, it will apply this
/// config on top of any configuation file it finds in the directory using the
/// same logic as FileOptionsProvider. If false or missing, only this
/// config on top of any configuration file it finds in the directory using
/// the same logic as FileOptionsProvider. If false or missing, only this
/// configuration file will be used.
llvm::Optional<bool> InheritParentConfig;

Expand Down
5 changes: 3 additions & 2 deletions clang-tools-extra/clang-tidy/GlobList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,14 @@ static llvm::Regex consumeGlob(StringRef &GlobList) {
return llvm::Regex(RegexText);
}

GlobList::GlobList(StringRef Globs) {
GlobList::GlobList(StringRef Globs, bool KeepNegativeGlobs /* =true */) {
Items.reserve(Globs.count(',') + 1);
do {
GlobListItem Item;
Item.IsPositive = !consumeNegativeIndicator(Globs);
Item.Regex = consumeGlob(Globs);
Items.push_back(std::move(Item));
if (Item.IsPositive || KeepNegativeGlobs)
Items.push_back(std::move(Item));
} while (!Globs.empty());
}

Expand Down
5 changes: 4 additions & 1 deletion clang-tools-extra/clang-tidy/GlobList.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ class GlobList {
///
/// An empty \p Globs string is interpreted as one glob that matches an empty
/// string.
GlobList(StringRef Globs);
///
/// \p KeepNegativeGlobs a bool flag indicating whether to keep negative
/// globs from \p Globs or not. When false, negative globs are simply ignored.
GlobList(StringRef Globs, bool KeepNegativeGlobs = true);

/// Returns \c true if the pattern matches \p S. The result is the last
/// matching glob's Positive flag.
Expand Down
2 changes: 2 additions & 0 deletions clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "../ClangTidy.h"
#include "../ClangTidyModule.h"
#include "../ClangTidyModuleRegistry.h"
#include "CleanupCtadCheck.h"
#include "DurationAdditionCheck.h"
#include "DurationComparisonCheck.h"
#include "DurationConversionCastCheck.h"
Expand All @@ -35,6 +36,7 @@ namespace abseil {
class AbseilModule : public ClangTidyModule {
public:
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
CheckFactories.registerCheck<CleanupCtadCheck>("abseil-cleanup-ctad");
CheckFactories.registerCheck<DurationAdditionCheck>(
"abseil-duration-addition");
CheckFactories.registerCheck<DurationComparisonCheck>(
Expand Down
1 change: 1 addition & 0 deletions clang-tools-extra/clang-tidy/abseil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS

add_clang_library(clangTidyAbseilModule
AbseilTidyModule.cpp
CleanupCtadCheck.cpp
DurationAdditionCheck.cpp
DurationComparisonCheck.cpp
DurationConversionCastCheck.cpp
Expand Down
49 changes: 49 additions & 0 deletions clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
//===--- CleanupCtadCheck.cpp - clang-tidy --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "CleanupCtadCheck.h"
#include "../utils/TransformerClangTidyCheck.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Tooling/Transformer/RangeSelector.h"
#include "clang/Tooling/Transformer/RewriteRule.h"
#include "clang/Tooling/Transformer/Stencil.h"
#include "llvm/ADT/StringRef.h"

using namespace ::clang::ast_matchers;
using namespace ::clang::transformer;

namespace clang {
namespace tidy {
namespace abseil {

RewriteRule CleanupCtadCheckImpl() {
auto warning_message = cat("prefer absl::Cleanup's class template argument "
"deduction pattern in C++17 and higher");

return makeRule(
declStmt(has(varDecl(
hasType(autoType()), hasTypeLoc(typeLoc().bind("auto_type_loc")),
hasInitializer(traverse(
clang::TK_IgnoreUnlessSpelledInSource,
callExpr(callee(functionDecl(hasName("absl::MakeCleanup"))),
argumentCountIs(1),
hasArgument(0, expr().bind("make_cleanup_argument")))
.bind("make_cleanup_call")))))),
{changeTo(node("auto_type_loc"), cat("absl::Cleanup")),
changeTo(node("make_cleanup_call"), cat(node("make_cleanup_argument")))},
warning_message);
}

CleanupCtadCheck::CleanupCtadCheck(StringRef Name, ClangTidyContext *Context)
: utils::TransformerClangTidyCheck(CleanupCtadCheckImpl(), Name, Context) {}

} // namespace abseil
} // namespace tidy
} // namespace clang
37 changes: 37 additions & 0 deletions clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//===--- CleanupCtadCheck.h - clang-tidy ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_CLEANUPCTADCHECK_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_CLEANUPCTADCHECK_H

#include "../utils/TransformerClangTidyCheck.h"

namespace clang {
namespace tidy {
namespace abseil {

/// Suggests switching the initialization pattern of `absl::Cleanup`
/// instances from the factory function to class template argument
/// deduction (CTAD), in C++17 and higher.
///
/// For the user-facing documentation see:
/// http://clang.llvm.org/extra/clang-tidy/checks/abseil-cleanup-ctad.html
class CleanupCtadCheck : public utils::TransformerClangTidyCheck {
public:
CleanupCtadCheck(StringRef Name, ClangTidyContext *Context);

bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus17;
}
};

} // namespace abseil
} // namespace tidy
} // namespace clang

#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_CLEANUPCTADCHECK_H
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ class DurationDivisionCheck : public ClangTidyCheck {
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus;
}
void registerMatchers(ast_matchers::MatchFinder *finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &result) override;
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};

} // namespace abseil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ void DurationFactoryScaleCheck::check(const MatchFinder::MatchResult &Result) {
return;

// We first handle the cases of literal zero (both float and integer).
if (IsLiteralZero(Result, *Arg)) {
if (isLiteralZero(Result, *Arg)) {
diag(Call->getBeginLoc(),
"use ZeroDuration() for zero-length time intervals")
<< FixItHint::CreateReplacement(Call->getSourceRange(),
Expand Down
Loading