Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW25) #3934

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

Merged
merged 787 commits into from
Jun 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
787 commits
Select commit Hold shift + click to select a range
ee98f60
[gn build] Port c54d3050f7b9
llvmgnsyncbot Jun 11, 2021
94a07c7
[SLP][NFC] Fix condition that was supposed to save a bit of compile t…
Jun 11, 2021
c7dee6a
[lldb] Enable TestRuntimeTypes on Apple Silicon
JDevlieghere Jun 11, 2021
fc71a5c
[lldb] Support new objective-c hash table layout
JDevlieghere Feb 10, 2021
fdc0d43
Introduce alloca_scope op
shabalind Jun 11, 2021
ce44fe1
[Sema] Address-space sensitive check for unbounded arrays (v2)
tauchris Jun 8, 2021
93f3c7c
CodeGen: Fix missing const
arsenm Jun 8, 2021
9d7299b
GlobalISel: Reduce indentation and remove dead path
arsenm Jun 10, 2021
6dd54da
AMDGPU/GlobalISel: Fix indentation
arsenm Jun 10, 2021
a845dc1
AMDGPU/GlobalISel: Remove leftover hack for argument memory sizes
arsenm Jun 10, 2021
7eba485
[libcxx][ranges] Add class ref_view.
zoecarver May 6, 2021
a67780f
[gn build] Port 7eba4856c702
llvmgnsyncbot Jun 11, 2021
27ef43d
[compiler-rt] Add platform detection support for x32
glaubitz Jun 11, 2021
c0c5a98
[NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherSca…
aeubanks May 18, 2021
e0b469f
[clang-cl][sanitizer] Add -fsanitize-address-use-after-return to clang.
kda Jun 11, 2021
1b241b9
[flang] Handle multiple USE statements for the same module
psteinfeld Jun 11, 2021
f60d23c
[mlir][docs] Reorder PassWrapper arguments
marbre Jun 11, 2021
06c3d52
[docs][OpaquePtr] Add some specific examples of what needs to be done
aeubanks Jun 11, 2021
f47d00c
[IRSim] Adding basic implementation of llvm-sim.
AndrewLitteken Jun 7, 2021
22dea69
[clang][ObjC] allow the use of NSAttributedString * argument type wit…
hyp Jun 11, 2021
ac81cb7
Allow ptrtoint/inttoptr of non-integral pointer types in IR
preames Jun 11, 2021
8bc0eb4
Revert "[IRSim] Adding basic implementation of llvm-sim."
AndrewLitteken Jun 11, 2021
79ffbc9
[NFC][CostModel] Fixed comment that comparisons work regardless of th…
dfukalov Jun 8, 2021
0aef747
[NFC][X86][Codegen] Megacommit: mass-regenerate all check lines that …
LebedevRI Jun 11, 2021
60fde95
[lldb] Remove GCC XFAIL for TestCPPAuto and TestClassTemplateParamete…
Teemperor Jun 11, 2021
64720f5
[IRSim] Don't copy the Mapper for createCandidatesFromSuffixTree
AndrewLitteken Jun 11, 2021
60084d4
[sanitizer] Replace -mllvm -asan-use-after-return in compile-rt tests…
kda Jun 11, 2021
1d22596
[sanitizer] Remove numeric values from -asan-use-after-return flag. (…
kda Jun 11, 2021
ad1d60b
[InstCombine] update test checks; NFC
rotateright Jun 11, 2021
1c51bf3
[InstCombine] add tests for bit manipulation intrinsics with bool val…
rotateright Jun 11, 2021
37a2c45
[NFC][OpaquePtr] Make getMemoryParamAllocType() compatible with opaqu…
aeubanks Jun 11, 2021
b9af157
[ASan/Win] Hide index from compiler to avoid new clang warning
rnk Jun 11, 2021
0276cc7
[llvm-objcopy][MachO] Do not strip symbols with the flag REFERENCED_D…
Jun 11, 2021
541ccd1
Allow signposts to take advantage of deferred string substitution
adrian-prantl Jun 11, 2021
635b721
Disambiguate usage of struct mach_header and other MachO definitions.
adrian-prantl Jun 11, 2021
f6dea2e
[IRSim] Strip out the findSimilarity call from the constructor
AndrewLitteken Jun 11, 2021
b90f9be
Revert "Allow signposts to take advantage of deferred string substitu…
adrian-prantl Jun 11, 2021
5d88f2d
[lld-macho] Deduplicate fixed-width literals
int3 Jun 11, 2021
7f2ba39
[lld-macho][nfc] Move liveness-tracking fields into ConcatInputSection
int3 Jun 11, 2021
681cfeb
[lld-macho][nfc] Have InputSection ctors take some parameters
int3 Jun 11, 2021
464d3dc
[lld-macho] Have dead-stripping work with literal sections
int3 Jun 11, 2021
4fc93a3
Allow signposts to take advantage of deferred string substitution
adrian-prantl Jun 11, 2021
6393164
[AIX][compiler-rt] Fix cmake build of libatomic for cmake-3.16+
Jun 11, 2021
c8b8e8e
[MLIR] Execution engine python binding support for shared libraries
bondhugula Jun 5, 2021
5de7467
[lld-macho] Fix debug build
int3 Jun 12, 2021
b9095f5
[lld][MachO] Fix function starts section
Jun 12, 2021
8fb53dc
Improve materializer error messages to include type names.
adrian-prantl Jun 12, 2021
984e270
[mlir] make normalizeAffineFor public
stephenneuendorffer Jun 11, 2021
dbc2629
[Flang][test] Fix Windows buildbot.
Meinersbur Jun 12, 2021
0a0800c
A post-processing for BFI inference
Jun 12, 2021
c27e814
[AMDGPU][IndirectCalls] Fix register usage propagation for indirect/e…
Jun 3, 2021
e087b4f
Revert "[X86FixupLEAs] Sub register usage of LEA dest should block LE…
fhahn Jun 12, 2021
5cd6642
Revert "[X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB"
fhahn Jun 12, 2021
8e62797
[lit] Attempt for fix tests failing because of 'warning: non-portable…
chbessonova May 19, 2021
b4583a5
Revert "Allow signposts to take advantage of deferred string substitu…
fhahn Jun 12, 2021
466e5ab
[MLIR] Simplify affine.if ops with trivial conditions
shashij-polymagelabs Jun 12, 2021
0d9e8f5
[VPlan] Add more sinking/merging tests with predicated loads/stores.
fhahn Jun 12, 2021
1e50c3d
[clang] NRVO: Improvements and handling of more cases.
mizvekov Mar 19, 2021
76f1baa
Revert "Revert "DirectoryWatcher: add an implementation for Windows""
compnerd Jun 12, 2021
c997867
[X86] Add ISD::FREEZE and ISD::AssertAlign to the list of opcodes tha…
topperc Jun 12, 2021
fae7deb
[CHR] Don't run ControlHeightReduction if any BB has address taken
lxfind Jun 12, 2021
5899278
[llvm-objcopy] Exclude empty sections in IHexWriter output
mciantyre Jun 12, 2021
8bc1ce0
Use dyn_cast_or_null instead of dyn_cast in FunctionLike::verifyTrait…
joker-eph Jun 12, 2021
2db64e1
[NFC][X86][Codegen] Add shuffle test that would benefit from sorting …
LebedevRI Jun 12, 2021
152c987
Simplify getArgAttrDict/getResultAttrDict by removing unnecessary checks
joker-eph Jun 12, 2021
49f4a58
[ORC-RT] Split Simple-Packed-Serialization code into its own header.
lhames Jun 12, 2021
9eb2f72
[X86] Check immediate before get it.
LuoYuanke Jun 10, 2021
02c7183
llvm-objcopy: fix section size truncation/extension when dumping sect…
dwblaikie Jun 13, 2021
aa93603
[runtimes] Fix umbrella component targets
smeenai Jun 13, 2021
1e72b9d
Revert "[X86] Check immediate before get it."
LuoYuanke Jun 13, 2021
5be314f
[X86] Check immediate before get it.
LuoYuanke Jun 10, 2021
f6b9836
[ARM][NEON] Combine base address updates for vld1Ndup intrinsics
chbessonova Jun 2, 2021
bf20631
[clang] Implement P2266 Simpler implicit move
mizvekov Mar 19, 2021
e405db0
[ORC-RT] Fix a comment.
lhames Jun 13, 2021
fc3ca2c
[JITLink][MachO] Add missing testcase.
lhames Jun 13, 2021
a7c3105
[ORC-RT] Remove unused header in unit test.
lhames Jun 13, 2021
b013c58
VPlanSLP.cpp - tidy implicit header dependencies. NFCI.
RKSimon Jun 13, 2021
2477b49
ArgumentPromotion.cpp - remove unused <string> include. NFCI.
RKSimon Jun 13, 2021
7d7e913
SValExplainer.h - get APSInt values by const reference instead of val…
RKSimon Jun 13, 2021
afd44bb
[InstCombine] fold ctlz/cttz of bool types
rotateright Jun 13, 2021
7ff3a89
[clang][NFC] Add IsAnyDestructorNoReturn field to CXXRecord instead o…
zero9178 Jun 13, 2021
bee2f61
[ARM] Introduce t2WhileLoopStartTP
davemgreen Jun 13, 2021
c14fd17
LoopUnrollAndJamPass.cpp - remove unused <vector> include. NFCI.
RKSimon Jun 13, 2021
56541d1
GVN.cpp - remove unused <vector> include. NFCI.
RKSimon Jun 13, 2021
5f9bc58
fix comment typos to cycle bots
nico Jun 13, 2021
35a1202
DWARFDebugFrame.cpp - remove unused <string> include. NFCI.
RKSimon Jun 13, 2021
dbfa3d2
MachOObjectFile.cpp - remove unused <string> include. NFCI.
RKSimon Jun 13, 2021
2c4ee1e
RegUsageInfoPropagate.cpp - remove unused <string> and <map> includes…
RKSimon Jun 13, 2021
3dc727e
ProfiledCallGraph.h - remove unused <string> include. NFCI.
RKSimon Jun 13, 2021
a03d09f
DetailedRecordsBackend.cpp - tidy implicit header dependencies. NFCI.
RKSimon Jun 13, 2021
d1b5708
DetailedRecordsBackend.cpp - printSectionHeading - avoid std::string …
RKSimon Jun 13, 2021
033e594
DIPrinter.h - tidy implicit header dependencies. NFCI.
RKSimon Jun 13, 2021
9efe89d
BoundsChecking.cpp - tidy implicit header dependencies. NFCI.
RKSimon Jun 13, 2021
4089e0b
RawError.h - remove unused <string> include. NFCI.
RKSimon Jun 13, 2021
6ecc992
[LoopUnroll] Test multi-exit runtime unrolling with predictable exit …
nikic Jun 13, 2021
7d4c8a2
[lld/mac] clarify comment
nico Jun 13, 2021
527a182
DirectoryWatcher: also wait for the notifier thread
compnerd Jun 13, 2021
5be3a1a
[SPARC] Legalize truncation and extension between fp128 and half
LemonBoy Jun 13, 2021
673c5ba
[clang-format] Adds a formatter for aligning arrays of structs
feg208 Jun 13, 2021
60e32a1
[fuzzer] Fix build on musl
kraj Jun 13, 2021
899fdf5
[ELF] Add OVERWRITE_SECTIONS command
MaskRay Jun 13, 2021
b4baccc
Introduce tensor.insert op to Tensor dialect.
hanhanW Jun 13, 2021
562593f
[DSE] Extra multiblock loop tests, NFC.
davemgreen Jun 13, 2021
e03be2e
unwind: allow building with GCC
compnerd Jun 13, 2021
56edcbc
Fix misspelled instruction in X86 assembly parser
ericastor Jun 13, 2021
d81c059
[ms] [llvm-ml] Fix capitalization of the ignored CPU directives
ericastor Jun 13, 2021
f09e200
[ms] [llvm-ml] When parsing MASM, "jmp short" instructions are case i…
ericastor Jun 13, 2021
b2a0739
[lld-macho][nfc] Remove InputSection::outSecFileOff
int3 Jun 13, 2021
c5c05ff
[lld-macho][nfc] Represent the image loader cache with a ConcatInputS…
int3 Jun 13, 2021
da24e6d
[lld-macho][nfc] Add `final` to classes where possible
int3 Jun 13, 2021
594febf
[Utils] Add missing freeze and poison keyword highlights
aqjune Jun 14, 2021
bf5d309
[mlir][linalg] Add constant padding helper to PadTensorOp
matthias-springer Jun 14, 2021
b1b8227
[mlir] Vectorize linalg.pad_tensor consumed by transfer_read
matthias-springer Jun 14, 2021
b1fd8a1
[mlir] Vectorize linalg.pad_tensor consumed by subtensor_insert
matthias-springer Jun 14, 2021
562f9e9
[mlir] Vectorize linalg.pad_tensor consumed by transfer_write
matthias-springer Jun 14, 2021
4fa8677
[DominanceInfo] Make the ctor take a defaulted value for the operand.…
lattner Jun 14, 2021
fdb21f0
[mlir][linalg] Remove generic PadTensorOp vectorization pattern
matthias-springer Jun 14, 2021
ba9e280
[ORC-RT] Fix an error check.
lhames Jun 14, 2021
dcbbc69
Calculate getTerminator only when necessary
hiraditya Jun 13, 2021
167e7af
Implement DW_CFA_LLVM_* for Heterogeneous Debugging
RamNalamothu Jun 14, 2021
9c5d43f
[lld-macho] Try to fix MSAN "uninitialized memory" error
int3 Jun 14, 2021
0dd4c4b
[Testsuite] Change these tests to only have a single verification err…
lattner Jun 14, 2021
e0bb502
[LLParser] Remove outdated deplibs
TH3CHARLie Jun 14, 2021
092c303
AMD k8 family does not support SSE4.x which are required by x86-64-v2+
Jun 11, 2021
98fff51
[mlir][linalg] Lower PadTensorOp to InitTensorOp + FillOp + SubTensor…
matthias-springer Jun 14, 2021
4c2f3d8
[mlir][linalg] Vectorize linalg.pad_op source copying (static source …
matthias-springer Jun 14, 2021
01e3b34
[mlir][linalg] Vectorize linalg.pad_op source copying (improved)
matthias-springer Jun 14, 2021
8449af4
[LoopVectorize] precommit pr50686.ll for D104148
cmd120 Jun 14, 2021
b5b9489
Only consider built-in compound assignment operators for -Wunused-but…
stbergmann Jun 14, 2021
73cbc91
[mlir] Add ExpOp to Complex dialect.
akuegel Jun 11, 2021
ddda52c
[mlir][linalg] Lower PadTensorOps with non-constant pad value
matthias-springer Jun 14, 2021
046922e
[mlir][linalg] Add support for scalar input operands.
Jun 14, 2021
2116ead
[mlir] Remove traits that require vector type support from ops in Com…
akuegel Jun 11, 2021
74d45b8
[VP] Binary floating-point intrinsics.
Jun 14, 2021
57e8562
[flang] Add initial implementation for CPU_TIME
rovka Jun 9, 2021
1d49e53
[llvm] remove Sequence::asSmallVector()
gchatelet Jun 14, 2021
669771c
[clang][deps] NFC: Preserve the original frontend action
jansvoboda11 Jun 14, 2021
e63f27a
[libc] Add a set of elementary operations
gchatelet Jun 14, 2021
78668c8
[clang][modules][pch] Allow loading PCH with different modules cache …
jansvoboda11 Jun 14, 2021
a2363c0
Reland "[lldb] Set return status to failed when adding a command error"
DavidSpickett Jun 14, 2021
0f94d68
[lldb] Add missing changes to a2363c0cf9b6a9a81c76ac652da667f73845d38b
DavidSpickett Jun 14, 2021
9223209
[clang][deps] Handle precompiled headers' AST files
jansvoboda11 Jun 14, 2021
ab45c1f
Revert "[libc] Add a set of elementary operations"
gchatelet Jun 14, 2021
f583029
[lldb] Correct "else if" to "elif" in TestRegisters
DavidSpickett Jun 14, 2021
166192e
[flang] Add POSIX implementation for CPU_TIME
rovka Jun 9, 2021
a83ef21
Fix -Wswitch warning after 092c303955cd18be6c0b923b1c0a1b96e2c91893.
hokein Jun 14, 2021
4629554
[clang][deps] Handle modular dependencies present in PCH
jansvoboda11 Jun 14, 2021
8ddbb44
[Analyzer][solver] Simplify existing eq classes and constraints when …
May 28, 2021
35fa3e6
[clang][deps] Move stripping of diagnostic serialization from `clang-…
jansvoboda11 Jun 14, 2021
d8bab69
[clang][deps] Move invocation adjustments from `clang-scan-deps` to `…
jansvoboda11 Jun 14, 2021
cf7d970
[clang][deps] Move injection of `-Wno-error` from `clang-scan-deps` t…
jansvoboda11 Jun 14, 2021
6c6dcfc
[clang][deps] Move enabling system header deps from `clang-scan-deps`…
jansvoboda11 Jun 14, 2021
9e77526
[VPlan] Add additional tests for region merging.
fhahn Jun 13, 2021
1d8882b
[clang][deps] Fix failing modules.cpp test
jansvoboda11 Jun 14, 2021
11e2922
[lldb][docs] Document SBType
Teemperor Jun 14, 2021
41115ef
[clang][deps] NFC: Check the correct context hashes in tests
jansvoboda11 Jun 10, 2021
80c0c63
[clang][deps] Prevent unintended modifications of the original TU com…
jansvoboda11 Jun 14, 2021
ac031c8
Revert "[lldb] Set return status to failed when adding a command erro…
DavidSpickett Jun 14, 2021
8e93aa3
[libc++] Refactor the tests for std::prev, next and advance
ldionne May 27, 2021
88e4aae
[MLIR][NFC] Rename MemRefDataFlow -> AffineScalarReplacement
bondhugula Jun 12, 2021
f39dcf8
[clang][deps] NFC: Fix an XFAIL test on Windows
jansvoboda11 Jun 11, 2021
9f967ee
[libc++] NFC: More refactoring in the prev/next/advance tests per rev…
ldionne Jun 14, 2021
bb8ce25
Intrinsic::getName: require a Module argument
dobbelaj-snps Jun 14, 2021
f95ff81
[clang][deps] NFC: Handle `DependencyOutputOptions` only once
jansvoboda11 Jun 14, 2021
85208b9
[clang][deps] NFC: Stop using moved-from object
jansvoboda11 Jun 14, 2021
6e56283
[DAGCombine] reduceBuildVecToShuffle(): sort input vectors by decreas…
LebedevRI Jun 14, 2021
0f94c3c
[NFC][DAGCombine] Extract getFirstIndexOf() lambda back into a function
LebedevRI Jun 14, 2021
31b9aca
Reland "[lldb] Set return status to failed when adding a command error"
DavidSpickett Jun 14, 2021
b88fa0e
[flang] Fix compilation problem with rename of "MemRefDataFlow"
psteinfeld Jun 14, 2021
c83e696
Add AutomaticAllocationScope to memref.alloca_scope
shabalind Jun 14, 2021
bbd717b
[libc++] [test] No longer rely on std::hash<T>::argument_type.
Quuxplusone Jun 12, 2021
e3d5e31
[lldb][docs] Fix section name for InputReaderGranularity
Teemperor Jun 14, 2021
d94ce1a
[lldb][docs] Add the missing rst anchors to the Python enum docs
Teemperor Jun 14, 2021
c820b49
[libcxx][ranges] Implement views::all.
zoecarver May 6, 2021
bfd451a
[gn build] Port c820b494d6e1
llvmgnsyncbot Jun 14, 2021
a6c1d09
Merge from 'main' to 'sycl-web'
Jun 14, 2021
c60dd3b
Revert "[clang] NRVO: Improvements and handling of more cases."
zmodem Jun 14, 2021
08ce52e
[AArch64] Improve SAD pattern
jaykang10 Jun 10, 2021
d767d1d
[ADT] Use unnamed argument for unused arg in StringMapEntryStorage.
fhahn Jun 14, 2021
7ed515d
[AIX][XCOFF] emit vector info of traceback table.
diggerlin Jun 14, 2021
5b5833b
SelectionDAG: repair the Windows build
compnerd Jun 14, 2021
96ca034
[VectorCombine] Limit scalarization to non-poison indices for now.
fhahn Jun 14, 2021
abe501f
[mlir] Mark gpu dialect illegal in gpu-to-llvm conversion
chsigg Jun 14, 2021
2fe5d80
Merge from 'sycl' to 'sycl-web' (#1)
Jun 14, 2021
ee9bb25
[LoopDeletion] Add test with irreducible control flow in loop.
fhahn Jun 14, 2021
56ae4f2
[InstCombine] add tests for logical and/or with not ops; NFC
rotateright Jun 14, 2021
8591640
[InstCombine] add DeMorgan folds for logical ops in select form
rotateright Jun 14, 2021
ce77039
[Verifier] Parallelize verification and dom checking. NFC.
lattner Jun 14, 2021
c58cf69
[flang] Move buffer runtime test to GTest
ashermancinelli Jun 14, 2021
c75e454
[RISCV] Transform unaligned RVV vector loads/stores to aligned ones
frasercrmck Jun 9, 2021
20f7b5f
[Clang] Test case for -Wunused-but-set-variable, warn for volatile.
Jun 14, 2021
863184d
[CSSPGO] Aggregation by the last K context frames for cold profiles
wlei-llvm Jun 11, 2021
44f197e
[OpenMP] Fix C-only clang assert on parsing use_allocator clause of t…
alexey-bataev Jun 14, 2021
e06b9ba
[lld-macho] Reword comment for clarity
int3 Jun 12, 2021
cc17bfe
[lld-macho] Fix "shift exponent too large" UBSAN error
int3 Jun 14, 2021
8c5a449
[OpaquePtr] Remove existing support for forward compatibility
aeubanks May 26, 2021
d650ccf
[NFC] Remove unused variable
vitalybuka Jun 14, 2021
0e31e22
[docs][OpaquePtr] Shuffle around the transition plan section
aeubanks Jun 11, 2021
8c8dbc1
X86: pass swift_async context in R14 on Win64
compnerd Jun 14, 2021
75d3b46
Remove accidentally added debugging code from D103135
aeubanks Jun 14, 2021
66e2708
[mlir:Linalg] Populate LinalgOp patterns on LinalgDialect as opposed …
River707 Jun 14, 2021
cc8d32a
Move some code under NDEBUG from D103135
aeubanks Jun 14, 2021
a490ca8
[PassManager] Save compile time by not running the verifier unnecessa…
lattner Jun 14, 2021
4e15560
[OPENMP][C++20]Add support for CXXRewrittenBinaryOperator in ranged f…
alexey-bataev Jun 14, 2021
d9d2080
[libc++] Clean up scripts to setup CI on macOS
ldionne Jun 14, 2021
ecb68f1
[libc++abi] NFC: avoid a -Wunused-parameter warning
xingxue-ibm Jun 14, 2021
e0c382a
[AMDGPU] Limit runs of fixLdsBranchVmemWARHazard
piotrAMD Jun 14, 2021
e3bc4db
[mlir][Linalg] Make printer/parser have the same behavior.
hanhanW Jun 14, 2021
00dbf8c
Adding some of the documents for C11.
AaronBallman Jun 14, 2021
585e65d
[TLI] SimplifyDemandedVectorElts(): handle SCALAR_TO_VECTOR(EXTRACT_V…
LebedevRI Jun 14, 2021
9850495
[dfsan] Add stack-trace printing functions to dfsan interface
gbalats Jun 12, 2021
03841ed
Allow signposts to take advantage of deferred string substitution
adrian-prantl Jun 11, 2021
b87894a
[HWASan] Enable globals support for LAM.
morehouse Jun 14, 2021
a58b282
[libc] Add hardware implementations of x86_64 sqrt functions.
Jun 14, 2021
0577f4b
[Hexagon] Add HVX and control register names to Hexagon target
Jun 14, 2021
7a7c007
Revert "Allow signposts to take advantage of deferred string substitu…
adrian-prantl Jun 14, 2021
1c096bf
[SVE][LSR] Teach LSR to enable simple scaled-index addressing mode ge…
huihzhang Jun 14, 2021
035217f
Allow signposts to take advantage of deferred string substitution
adrian-prantl Jun 11, 2021
6c848c2
Remove redundant environment variable XLA_FLAGS.
Jun 14, 2021
3120118
[compiler-rt][hwasan] Add newline between record_addr lines on frame …
PiJoules Jun 7, 2021
ca4a63f
Merge from 'main' to 'sycl-web' (#1)
abhinavgaba Jun 15, 2021
853a614
[mlir:OpFormatGen] Add Support for `$_ctxt` in the transformer.
silvasean Jun 15, 2021
b8919fb
[NFC][sanitizer] clang-format some code
vitalybuka Jun 15, 2021
1c450c3
[PowerPC] Export 16 byte load-store instructions
Jun 15, 2021
928394d
[lld][MachO] Add support for LC_DATA_IN_CODE
Jun 15, 2021
1b87573
[libc++][ci] Enable modules in the Runtimes build
ldionne Jun 14, 2021
79f9cfb
Do not merge LocalInstantiationScope for template specialization
yxsamliu Jun 8, 2021
b01bfdf
[lld][MachO] Fix UB after D103006
vitalybuka Jun 15, 2021
51ed1c6
[NFC][hwasan] Fix "implicitly declaring library function"
vitalybuka Jun 15, 2021
4017d03
[X86] Use EVT::getVectorVT instead of changeVectorElementType in redu…
topperc Jun 15, 2021
b4d40e1
[NFC] This is a test commit to check commit access.
CarlosAlbertoEnciso Jun 14, 2021
cadcaf3
[AMDGPU][Libomptarget] Drop dead code related to g_atl_machine
pdhaliwal-amd Jun 11, 2021
5e92cbd
Revert "[NFC] This is a test commit to check commit access."
CarlosAlbertoEnciso Jun 15, 2021
68c1610
[ORC-RT] Fix void function handling in the WrapperFunction utility.
lhames Jun 15, 2021
d0a5d86
[Debug-Info][CodeView] Fix GUID string generation for MSVC generated …
CarlosAlbertoEnciso Jun 15, 2021
d8c5a4d
[gn build] Port d0a5d8611935
llvmgnsyncbot Jun 15, 2021
6c7be41
Support buffers in LinalgFoldUnitExtentDims
tpopp Jun 2, 2021
08a088f
Merge commit '6c7be4176703fff69d20acc466a879e080346f30' into llvmspir…
vmaksimo Jun 15, 2021
8f45206
Fix translating of compile unit
KornevNikita Jun 8, 2021
830eff0
Use IRBuilder for folding
svenvh Jun 2, 2021
6e00e2b
Extend OpSpecConstantOp testing for initializers
svenvh Jun 2, 2021
419e15a
Handle OpSpecConstantOp for SNegate, Not, and LogicalNot
svenvh Jun 2, 2021
4de865a
Handle OpSpecConstantOp for integer comparisons
svenvh Jun 2, 2021
02bc6fe
Align clang-tidy/format versions to LLVM version
svenvh Jun 9, 2021
95251c1
Implement support for dynamic memmove
Fznamznon Jun 10, 2021
58dad7e
Fix attachment of decoration to spec constants
AlexeySotkin Jun 9, 2021
5e5685e
Add tests for SConvert, UConvert, BitCast OpSpecConstantOp
svenvh Jun 3, 2021
0962e7f
Handle OpSpecConstantOp with SMod
svenvh Jun 9, 2021
0e952c4
Handle OpSpecConstantOp with Select
svenvh Jun 10, 2021
105a151
Merge remote-tracking branch 'intel_llvm/sycl' into llvmspirv_pulldown
vmaksimo Jun 16, 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.
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,readability-identifier-naming'
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,-misc-no-recursion,readability-identifier-naming'
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
Expand Down
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@ d8f0e6caa91e230a486c948ab643174e40bdf215

# Wiped out some non-ascii characters that snuck into the copyright.
5b08a8a43254ed30bd953e869b0fd9fc1e8b82d0

# Use C++11 default member initializers in LLDB. NFC.
9494c510af56d9c8593ab69017dcaa232210b235
8 changes: 6 additions & 2 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@
#
# Please keep this file sorted.

Martin Storsjö <martin@martin.st>
<i@maskray.me> <maskray@google.com>
<qiucofan@cn.ibm.com> <qiucf@cn.ibm.com>
<rnk@google.com> <reid@kleckner.net>
<thakis@chromium.org> <nicolasweber@gmx.de>
<i@maskray.me> <maskray@google.com>
Jon Roelofs <jonathan_roelofs@apple.com> Jon Roelofs <jroelofs@jroelofs.com>
Jon Roelofs <jonathan_roelofs@apple.com> Jonathan Roelofs <jonathan@codesourcery.com>
Jon Roelofs <jonathan_roelofs@apple.com> Jonathan Roelofs <jroelofs@jroelofs.com>
Martin Storsjö <martin@martin.st>
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ stripFloatLiteralFraction(const MatchFinder::MatchResult &Result,
if (const auto *LitFloat = llvm::dyn_cast<FloatingLiteral>(&Node))
// Attempt to simplify a `Duration` factory call with a literal argument.
if (llvm::Optional<llvm::APSInt> IntValue = truncateIfIntegral(*LitFloat))
return IntValue->toString(/*radix=*/10);
return toString(*IntValue, /*radix=*/10);

return llvm::None;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ auto hasAnyListedName(const std::string &Names) {
NarrowingConversionsCheck::NarrowingConversionsCheck(StringRef Name,
ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
WarnOnIntegerNarrowingConversion(
Options.get("WarnOnIntegerNarrowingConversion", true)),
WarnOnFloatingPointNarrowingConversion(
Options.get("WarnOnFloatingPointNarrowingConversion", true)),
WarnWithinTemplateInstantiation(
Expand All @@ -45,6 +47,8 @@ NarrowingConversionsCheck::NarrowingConversionsCheck(StringRef Name,

void NarrowingConversionsCheck::storeOptions(
ClangTidyOptions::OptionMap &Opts) {
Options.store(Opts, "WarnOnIntegerNarrowingConversion",
WarnOnIntegerNarrowingConversion);
Options.store(Opts, "WarnOnFloatingPointNarrowingConversion",
WarnOnFloatingPointNarrowingConversion);
Options.store(Opts, "WarnWithinTemplateInstantiation",
Expand All @@ -67,8 +71,9 @@ void NarrowingConversionsCheck::registerMatchers(MatchFinder *Finder) {
hasType(namedDecl(hasAnyListedName(IgnoreConversionFromTypes)));

// `IsConversionFromIgnoredType` will ignore narrowing calls from those types,
// but not expressions that are promoted to `int64` due to a binary expression
// with one of those types. For example, it will continue to reject:
// but not expressions that are promoted to an ignored type as a result of a
// binary expression with one of those types.
// For example, it will continue to reject:
// `int narrowed = int_value + container.size()`.
// We attempt to address common incidents of compound expressions with
// `IsIgnoredTypeTwoLevelsDeep`, allowing binary expressions that have one
Expand Down Expand Up @@ -217,6 +222,22 @@ static bool isWideEnoughToHold(const ASTContext &Context,
return ToIntegerRange.contains(IntegerConstant);
}

// Returns true iff the floating point constant can be losslessly represented
// by an integer in the given destination type. eg. 2.0 can be accurately
// represented by an int32_t, but neither 2^33 nor 2.001 can.
static bool isFloatExactlyRepresentable(const ASTContext &Context,
const llvm::APFloat &FloatConstant,
const QualType &DestType) {
unsigned DestWidth = Context.getIntWidth(DestType);
bool DestSigned = DestType->isSignedIntegerOrEnumerationType();
llvm::APSInt Result = llvm::APSInt(DestWidth, !DestSigned);
bool IsExact = false;
bool Overflows = FloatConstant.convertToInteger(
Result, llvm::APFloat::rmTowardZero, &IsExact) &
llvm::APFloat::opInvalidOp;
return !Overflows && IsExact;
}

static llvm::SmallString<64> getValueAsString(const llvm::APSInt &Value,
uint64_t HexBits) {
llvm::SmallString<64> Str;
Expand All @@ -233,6 +254,21 @@ static llvm::SmallString<64> getValueAsString(const llvm::APSInt &Value,
return Str;
}

bool NarrowingConversionsCheck::isWarningInhibitedByEquivalentSize(
const ASTContext &Context, const BuiltinType &FromType,
const BuiltinType &ToType) const {
// With this option, we don't warn on conversions that have equivalent width
// in bits. eg. uint32 <-> int32.
if (!WarnOnEquivalentBitWidth) {
uint64_t FromTypeSize = Context.getTypeSize(&FromType);
uint64_t ToTypeSize = Context.getTypeSize(&ToType);
if (FromTypeSize == ToTypeSize) {
return true;
}
}
return false;
}

void NarrowingConversionsCheck::diagNarrowType(SourceLocation SourceLoc,
const Expr &Lhs,
const Expr &Rhs) {
Expand Down Expand Up @@ -294,34 +330,37 @@ void NarrowingConversionsCheck::handleIntegralCast(const ASTContext &Context,
SourceLocation SourceLoc,
const Expr &Lhs,
const Expr &Rhs) {
const BuiltinType *ToType = getBuiltinType(Lhs);
// From [conv.integral]p7.3.8:
// Conversions to unsigned integer is well defined so no warning is issued.
// "The resulting value is the smallest unsigned value equal to the source
// value modulo 2^n where n is the number of bits used to represent the
// destination type."
if (ToType->isUnsignedInteger())
return;
const BuiltinType *FromType = getBuiltinType(Rhs);

// With this option, we don't warn on conversions that have equivalent width
// in bits. eg. uint32 <-> int32.
if (!WarnOnEquivalentBitWidth) {
uint64_t FromTypeSize = Context.getTypeSize(FromType);
uint64_t ToTypeSize = Context.getTypeSize(ToType);
if (FromTypeSize == ToTypeSize)
if (WarnOnIntegerNarrowingConversion) {
const BuiltinType *ToType = getBuiltinType(Lhs);
// From [conv.integral]p7.3.8:
// Conversions to unsigned integer is well defined so no warning is issued.
// "The resulting value is the smallest unsigned value equal to the source
// value modulo 2^n where n is the number of bits used to represent the
// destination type."
if (ToType->isUnsignedInteger())
return;
}
const BuiltinType *FromType = getBuiltinType(Rhs);

llvm::APSInt IntegerConstant;
if (getIntegerConstantExprValue(Context, Rhs, IntegerConstant)) {
if (!isWideEnoughToHold(Context, IntegerConstant, *ToType))
diagNarrowIntegerConstantToSignedInt(SourceLoc, Lhs, Rhs, IntegerConstant,
Context.getTypeSize(FromType));
return;
// With this option, we don't warn on conversions that have equivalent width
// in bits. eg. uint32 <-> int32.
if (!WarnOnEquivalentBitWidth) {
uint64_t FromTypeSize = Context.getTypeSize(FromType);
uint64_t ToTypeSize = Context.getTypeSize(ToType);
if (FromTypeSize == ToTypeSize)
return;
}

llvm::APSInt IntegerConstant;
if (getIntegerConstantExprValue(Context, Rhs, IntegerConstant)) {
if (!isWideEnoughToHold(Context, IntegerConstant, *ToType))
diagNarrowIntegerConstantToSignedInt(SourceLoc, Lhs, Rhs,
IntegerConstant,
Context.getTypeSize(FromType));
return;
}
if (!isWideEnoughToHold(Context, *FromType, *ToType))
diagNarrowTypeToSignedInt(SourceLoc, Lhs, Rhs);
}
if (!isWideEnoughToHold(Context, *FromType, *ToType))
diagNarrowTypeToSignedInt(SourceLoc, Lhs, Rhs);
}

void NarrowingConversionsCheck::handleIntegralToBoolean(
Expand All @@ -344,7 +383,10 @@ void NarrowingConversionsCheck::handleIntegralToFloating(
diagNarrowIntegerConstant(SourceLoc, Lhs, Rhs, IntegerConstant);
return;
}

const BuiltinType *FromType = getBuiltinType(Rhs);
if (isWarningInhibitedByEquivalentSize(Context, *FromType, *ToType))
return;
if (!isWideEnoughToHold(Context, *FromType, *ToType))
diagNarrowType(SourceLoc, Lhs, Rhs);
}
Expand All @@ -353,25 +395,21 @@ void NarrowingConversionsCheck::handleFloatingToIntegral(
const ASTContext &Context, SourceLocation SourceLoc, const Expr &Lhs,
const Expr &Rhs) {
llvm::APFloat FloatConstant(0.0);
if (getFloatingConstantExprValue(Context, Rhs, FloatConstant)) {
if (!isFloatExactlyRepresentable(Context, FloatConstant, Lhs.getType()))
return diagNarrowConstant(SourceLoc, Lhs, Rhs);

// We always warn when Rhs is non-constexpr.
if (!getFloatingConstantExprValue(Context, Rhs, FloatConstant))
return diagNarrowType(SourceLoc, Lhs, Rhs);
if (PedanticMode)
return diagConstantCast(SourceLoc, Lhs, Rhs);

QualType DestType = Lhs.getType();
unsigned DestWidth = Context.getIntWidth(DestType);
bool DestSigned = DestType->isSignedIntegerOrEnumerationType();
llvm::APSInt Result = llvm::APSInt(DestWidth, !DestSigned);
bool IsExact = false;
bool Overflows = FloatConstant.convertToInteger(
Result, llvm::APFloat::rmTowardZero, &IsExact) &
llvm::APFloat::opInvalidOp;
// We warn iff the constant floating point value is not exactly representable.
if (Overflows || !IsExact)
return diagNarrowConstant(SourceLoc, Lhs, Rhs);
return;
}

if (PedanticMode)
return diagConstantCast(SourceLoc, Lhs, Rhs);
const BuiltinType *FromType = getBuiltinType(Rhs);
const BuiltinType *ToType = getBuiltinType(Lhs);
if (isWarningInhibitedByEquivalentSize(Context, *FromType, *ToType))
return;
diagNarrowType(SourceLoc, Lhs, Rhs); // Assumed always lossy.
}

void NarrowingConversionsCheck::handleFloatingToBoolean(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ class NarrowingConversionsCheck : public ClangTidyCheck {
void handleBinaryOperator(const ASTContext &Context,
const BinaryOperator &Op);

bool isWarningInhibitedByEquivalentSize(const ASTContext &Context,
const BuiltinType &FromType,
const BuiltinType &ToType) const;

const bool WarnOnIntegerNarrowingConversion;
const bool WarnOnFloatingPointNarrowingConversion;
const bool WarnWithinTemplateInstantiation;
const bool WarnOnEquivalentBitWidth;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ void ProBoundsConstantArrayIndexCheck::check(

if (Index->isSigned() && Index->isNegative()) {
diag(Matched->getExprLoc(), "std::array<> index %0 is negative")
<< Index->toString(10);
<< toString(*Index, 10);
return;
}

Expand All @@ -118,7 +118,7 @@ void ProBoundsConstantArrayIndexCheck::check(
diag(Matched->getExprLoc(),
"std::array<> index %0 is past the end of the array "
"(which contains %1 elements)")
<< Index->toString(10) << ArraySize.toString(10, false);
<< toString(*Index, 10) << toString(ArraySize, 10, false);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ void UniqueptrResetReleaseCheck::check(const MatchFinder::MatchResult &Result) {
AssignmentText = " = std::move(*";
TrailingText = ")";
NeedsUtilityInclude = true;
} else if (!Right->isRValue()) {
} else if (!Right->isPRValue()) {
AssignmentText = " = std::move(";
TrailingText = ")";
NeedsUtilityInclude = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,7 @@ static bool usagesAreConst(ASTContext *Context, const UsageResult &Usages) {
/// by reference.
static bool usagesReturnRValues(const UsageResult &Usages) {
for (const auto &U : Usages) {
if (U.Expression && !U.Expression->isRValue())
if (U.Expression && !U.Expression->isPRValue())
return false;
}
return true;
Expand Down
Loading