Skip to content

Feature/merge upstream 20210528 #59

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 746 commits into from
Jul 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
746 commits
Select commit Hold shift + click to select a range
b67ea3d
[AMDGPU] Allow no-modifier operands in cvtDPP
Sisyph May 24, 2021
148c19a
[libc++] [test] Format some C++20 iterator_traits tests. NFCI.
Quuxplusone May 25, 2021
bb523cc
[libc++] [test] Make iter_difference_t.pass.cpp into a .compile.pass.…
Quuxplusone May 25, 2021
993f38d
[SystemZ][z/OS] Implement getHostCPUName for z/OS
aniprasad May 25, 2021
6a2ea84
BPF: Add more relocation kinds
yonghong-song May 18, 2021
e77cb4a
[SystemZ] Return true from preferZeroCompareBranch().
JonPsson May 25, 2021
1872283
[scudo] Rework dieOnMapUnmapError
May 24, 2021
09b5ebc
[mlir][CAPI][test] Change casts and fprintf format strings from long …
zero9178 May 25, 2021
8e83ff5
[VectorCombine] Remove unneeded InsertPointGuard (NFCI).
fhahn May 25, 2021
def6269
[CostModel][X86] Improve accuracy of 256-bit non-uniform vector shift…
RKSimon May 25, 2021
57250f2
[X86][Atom] Fix vector PSHUFB resource/throughputs
RKSimon May 25, 2021
882e4cb
[AIX][AsmPrinter] Print Symbol in comments for TOC load
May 25, 2021
ca446e5
[sparse][mlir] simplify sparse runtime support library
aartbik May 22, 2021
d95a4b9
[libc++] Try to fix the oss-fuzz failure
ldionne May 25, 2021
a47b2d4
[SCEV] Remove unused parameter from computeBECount [NFC]
preames May 25, 2021
472c009
[llvm-reduce] Exit when input module is malformed
langston-barrett May 25, 2021
aabca2d
[SCEV] Cleanup doesIVOverflowOnX checks [NFC]
preames May 25, 2021
0bbb502
Revert "[OpaquePtr] Make atomicrmw work with opaque pointers"
aeubanks May 25, 2021
ae1bc9e
[InstCombine] avoid infinite loop from vector select transforms
rotateright May 25, 2021
18c5444
[AMDGPU][GlobalISel] Stop foldInsertEltToCmpSelect from changing reg …
mbrkusanin May 25, 2021
d3495ff
[flang] Fix recent regression (proc. dummy arg on ENTRY)
klausler May 25, 2021
fa14fd3
[CSSPGO][llvm-profgen] Change default cold threshold for context merging
WenleiHe May 25, 2021
6779fcb
[mlir][linalg] Update Linalg.md (NFC).
May 25, 2021
e7c839b
[Hexagon] Improve argument packing in vector shuffle selection
May 4, 2021
6a84d37
[scudo] Consistent setting of SCUDO_DEBUG
vitalybuka May 25, 2021
8e30b55
[scudo] Fix CHECK implementation
vitalybuka May 25, 2021
149e018
[LoopIdiom] 'arithmetic right-shift until zero': don't turn potential…
LebedevRI May 25, 2021
2ea6e13
[mlir] Add an optional distributionTypes attribute to TiledLoopOp.
pifon2a May 25, 2021
dfd1bbd
[Matrix] Factor and distribute transposes across multiplies
anemet May 18, 2021
31d1ae7
[mlir][doc] Fix links and references in documentation of Tutorials
zero9178 May 25, 2021
ca7eaa0
[InstSimplify] allow undef element match in vector select condition v…
rotateright May 25, 2021
8de4db6
[AMDGPU] Lower kernel LDS into a sorted structure
rampitec May 19, 2021
1bf3fd9
[mlir] Use unique_function in AbstractOperation fields
math-fehr May 25, 2021
4df3b60
Add pre-commit tests for [D102215](https://reviews.llvm.org/D102215).
darkbuck May 25, 2021
c9dd299
[SelectionDAG] Propagate scoped AA metadata when lowering mem intrins…
darkbuck May 6, 2021
9c91614
[CVP] Guard against poison in common phi value transform (PR50399)
nikic May 22, 2021
d1e5f04
Revert "[NFC][scudo] Let disableMemoryTagChecksTestOnly to fail"
vitalybuka May 25, 2021
8535834
[lld-macho][nfc] Misc code cleanup
int3 May 25, 2021
9cc0d89
[lld-macho][nfc] clang-format everything
int3 May 25, 2021
3370619
[lld-macho][nfc] Rename MergedOutputSection to ConcatOutputSection
int3 May 25, 2021
fcab06b
[lld-macho][nfc] Sort OutputSections based on explicit order of comma…
int3 May 25, 2021
7599e98
[lld-macho][nfc] Remove unnecessary parameterization of section sort
int3 May 25, 2021
9ba2191
[gn build] Port 33706191d88d
llvmgnsyncbot May 25, 2021
6300c37
[SCEV] Cache operands used in BEInfo (NFC)
nikic May 18, 2021
5bc644a
Revert "[AIX] Avoid structor alias; die before bad alias codegen"
jakeegan May 25, 2021
d2d4f16
[Matrix] Use LLVM_DEBUG for a debug flag
d0k May 25, 2021
dc2aa47
[mlir] Add a copy constructor to FailureOr
math-fehr May 25, 2021
2367a7b
[JITLink][MachO][arm64] Use a more descriptive test name.
lhames May 25, 2021
249cd9d
[JITLink][MachO][arm64] Build GOT entries for defined symbols too.
lhames May 25, 2021
f44f2e0
[NFC] Fix 'unused' warning
vitalybuka May 25, 2021
3975e32
[AMDGPU] Fix unused variable warning. NFC.
rampitec May 25, 2021
6c35991
[TSAN][CMake] Add support to run lit on individual tests
bcardosolopes May 24, 2021
dce91f2
[docs] Explain address spaces a bit more in opaque pointers doc
aeubanks May 14, 2021
3a678fe
[sanitizer][test] s/A<10>/A<7>/ to fix "WARNING: Symbolizer buffer to…
MaskRay May 25, 2021
6a2869c
[Hexagon] Remove unused function from HexagonISelDAGToDAGHVX.cpp
May 25, 2021
a2a65a5
[docs] [CMake] Change recommendations for how to use LLVM_DEFINITIONS
mstorsjo May 24, 2021
3a6be27
[libcxx] Make the visibility attributes consistent for __narrow_to_ut…
mstorsjo May 18, 2021
ec402f1
[libcxx] [test] Explain an XFAIL LIBCXX-WINDOWS-FIXME and convert int…
mstorsjo May 12, 2021
a051bbb
[libcxxabi] Use ASan interface header for declaration. NFC
smeenai May 24, 2021
2f23f9e
[Canonicalize] Fully parameterize the pass based on config options. NFC.
lattner May 25, 2021
bc56620
[flang] Implement checks for defined input/output procedures
psteinfeld May 24, 2021
a004da0
[Canonicalize] Switch the default setting to "top down".
lattner May 24, 2021
68e4596
[libcxx] Fix the function name in exceptions from create_directories
mstorsjo Nov 9, 2020
d42d9e1
[libc++] [P0619] Hide not1 and not2 under _LIBCPP_ENABLE_CXX20_REMOVE…
Quuxplusone May 24, 2021
832c99f
Revert "[LoopDeletion] Break backedge if we can prove that the loop i…
morehouse May 25, 2021
b426b45
[Internalize] Rename instead of removal if a to-be-internalized comda…
MaskRay May 25, 2021
8cc437a
[ARM] Extra predicated tests for VMULH. NFC
davemgreen May 25, 2021
66781ef
[libc++] Install GCC 11 on CI builders
ldionne May 25, 2021
df005fa
[libomptarget][nfc] Move hostcall required test to rtl
JonChesterfield May 25, 2021
a6a57f0
[Toy] Update tests to pass with top-down canonicalize pass. NFC
lattner May 25, 2021
aaa2982
[MLIR Core] Cache the empty StringAttr like we do for empty dictionar…
lattner May 25, 2021
e14696b
[NFC][SCUDO] Fix unittest for -gtest_repeat=10
vitalybuka May 25, 2021
e5d227e
[NFC][MLIR][TOSA] Replaced tosa linalg.indexed_generic lowerings with…
rsuderman May 25, 2021
dd2be15
[gcov] Silence warning: comparison of integers of different signs
aganea May 25, 2021
20c9a44
[benchmark] Silence 'suggest override' and 'missing override' warnings
aganea May 25, 2021
52ac114
LLVM Detailed IR tests for introduction of flag -fsanitize-address-de…
kda May 13, 2021
e672595
[sanitizer] Let glibc aarch64 use O(1) GetTls
MaskRay May 25, 2021
ad90a6b
[OpaquePtr] Create new bitcode encoding for atomicrmw
aeubanks May 25, 2021
d35fe04
[LTT] Handle merged llvm.assume when dropping type tests
teresajohnson May 25, 2021
bbcb343
[lldb] Avoid format string in LLDB_SCOPED_TIMER
JDevlieghere May 26, 2021
564eb20
Revert "[lldb] Avoid format string in LLDB_SCOPED_TIMER"
JDevlieghere May 26, 2021
1202f55
[OpaquePtr] Make atomicrmw work with opaque pointers
aeubanks May 25, 2021
36d0fdf
[libcxx][iterator] adds `std::ranges::advance`
cjdb May 5, 2021
dde1239
[gn build] Port 36d0fdf9ac3b
llvmgnsyncbot May 26, 2021
9ef66ed
[clang-format][NFC] correctly sort StatementAttributeLike-macros' IO.map
HazardyKnusperkeks May 25, 2021
2cf0e52
[ARM] Add patterns for vmulh
davemgreen May 26, 2021
bf809cd
[NFC][object] Change the input parameter of the method isDebugSection.
EsmeYi May 26, 2021
b99f892
[mlir] Fold complex.re(complex.create) and complex.im(complex.create)
akuegel May 26, 2021
9c766f4
[InstCombine] Fold extractelement + vector GEP with one use
david-arm May 4, 2021
cb65419
[mlir] Simplify folding code (NFC)
akuegel May 26, 2021
91e0cb6
[mlir] LocalAliasAnalysis: Assume allocation scope to function scope …
Apr 10, 2021
a3b3f7e
[HIP] Adjust check in hip-include-path.hip test case
bjope May 26, 2021
70d8365
Fix warning introduced by 9c766f4090d19e3e2f56e87164177f8c3eba4b96
david-arm May 26, 2021
8c86161
[NFC][X86] clang-format X86TTIImpl::getInterleavedMemoryOpCostAVX2()
LebedevRI May 26, 2021
794fb54
[Test] Add test on unrolling to make sure it won't fail
xortator May 26, 2021
6697846
[X86][Atom] Fix vector variable shift resource/throughputs
RKSimon May 25, 2021
942e01d
[CostModel][X86] Remove old testshift* tests
RKSimon May 25, 2021
8c5ac18
AArch64: support post-indexed stores to bfloat types.
TNorthover May 26, 2021
7ee863b
[Test] Add simplified versions of tests for loop deletion that don't …
xortator May 26, 2021
7e27e42
[RISCV] Pre-commit fixed-length mask vselect tests
frasercrmck May 26, 2021
7386ad4
Revert "[AMDGPU][GlobalISel] Stop foldInsertEltToCmpSelect from chang…
mbrkusanin May 26, 2021
9601849
[AMDGPU][GlobalISel] Stop foldInsertEltToCmpSelect from changing reg …
mbrkusanin May 26, 2021
6b0fe3c
[NFC] Add CHECK lines for unordered FP reductions
kmclaughlin-arm May 26, 2021
7648b69
[AMDGPU][Libomptarget] Move Kernel/Symbol info tables to RTLDeviceInfoTy
pdhaliwal-amd May 25, 2021
2a41d70
[SCEV] Add tests with signed predicates for applyLoopGuards.
fhahn May 25, 2021
21aec4f
[X86][SLM] Fix vector PSHUFB + variable shift resource/throughputs
RKSimon May 26, 2021
76e47d4
[lldb][NFC] Use C++ versions of the deprecated C standard library hea…
Teemperor May 26, 2021
cc8661a
[AMDGPU][Libomptarget] Delete g_atmi_initialized
pdhaliwal-amd May 25, 2021
a2d6ef5
[AMDGPU][Libomptarget] Inline atmi_init/atmi_finalize
pdhaliwal-amd May 25, 2021
e79e804
[MC][NFCI] Factor out ELF section unique ID calculation
tmatheson-arm Apr 22, 2021
165321b
[MC][ELF] Emit unique sections for different flags
tmatheson-arm May 12, 2021
cebdf5d
[Docs] Updated the content of getting started documentation under llv…
pooja2299 May 26, 2021
ab8c441
[MC] Move elf-unique-sections-by-flags.ll to X86/
tmatheson-arm May 26, 2021
ba0fe85
[OpenCL] Include header for atomic-ops test
svenvh May 26, 2021
5fb58d4
[Test] Add Loop Deletion test with irreducible CFG
xortator May 26, 2021
8ac66d6
[AArch64] Generate LD1 for anyext i8 or i16 vector load
asavonic May 5, 2021
dee46d0
[mlir] Fold complex.create(complex.re(op), complex.im(op))
akuegel May 26, 2021
43d2e51
Return "[LoopDeletion] Break backedge if we can prove that the loop i…
xortator May 26, 2021
0de553d
Revert "Return "[LoopDeletion] Break backedge if we can prove that th…
xortator May 26, 2021
b70fe92
[InstCombine] avoid 'tmp' usage in test file; NFC
rotateright May 26, 2021
9e43b1e
[InstCombine] avoid 'tmp' usage in test files; NFC
rotateright May 26, 2021
01120fe
[InstCombine] add fmul tests with shared operand; NFC
rotateright May 26, 2021
be1a232
Return "[LoopDeletion] Break backedge if we can prove that the loop i…
xortator May 26, 2021
9f76a85
[LoopVectorize] Enable strict reductions when allowReordering() retur…
kmclaughlin-arm May 26, 2021
8be23ed
[SLP][NFC]Add a test for multiple uses of insertelement instruction,
alexey-bataev May 26, 2021
63cc9fd
[MCA][InOrderIssueStage] Fix LastWriteBackCycle computation.
adibiagio May 26, 2021
629e2b3
[X86][SSE] Regenerate some tests to expose the rip relative vector/br…
RKSimon May 26, 2021
a409fcd
[ARM] Extra test for reverted WLS memset. NFC
davemgreen May 26, 2021
b6f6501
[CostModel][AArch64] Add tests for bitreverse. NFC.
May 26, 2021
4ed2b6c
[X86][AMX] Fix a bug on tile config.
LuoYuanke May 26, 2021
a8f75d4
[clang-cl] Add driver support for /std:c++20 and bump /std:c++latest …
zmodem May 26, 2021
b37a2fc
[SystemZ][z/OS] Validate symbol names for z/OS for printing without q…
aniprasad May 26, 2021
fcd32d6
[AMDGPU] Fix function pointer argument bug in AMDGPU Propagate Attrib…
May 26, 2021
1bc0e85
[SystemZ][z/OS] Enable the AllowAtInName attribute for the HLASM dialect
aniprasad May 26, 2021
5f500d7
[MCA] Add a test for PR50483. NFC
adibiagio May 26, 2021
8f79203
[clangd] New ParsingCallback for semantics changes
kadircet May 19, 2021
d058262
[SystemZ] Support i128 inline asm operands.
JonPsson Apr 19, 2021
31191e1
[libc++] Fix concepts tests with GCC
ldionne May 26, 2021
9cc2181
[unroll] Use value domain for symbolic execution based cost model
preames May 26, 2021
1005ef4
[mlir][openacc] Translate UpdateOp to LLVM IR
clementval May 26, 2021
16342e3
[libc++][NFC] Move format_error to its own header.
mordante Apr 25, 2021
deb6a0f
[gn build] Port 16342e39947b
llvmgnsyncbot May 26, 2021
de9df3f
[libc++][NFC] Move basic_format_parse_context to its own header.
mordante Apr 25, 2021
74a89cb
[mlir] Add `distributionTypes` to LinalgTilingOptions.
pifon2a May 26, 2021
963495f
[libc++][format] Adds availability macros for std::format.
mordante May 18, 2021
e47311d
[gn build] Port de9df3f5b952
llvmgnsyncbot May 26, 2021
07f59ba
[libomptarget][nfc][amdgpu] Remove atmi_status_t type
JonChesterfield May 26, 2021
ea91a8c
[AMDGPU][NFC] Remove non-existing function header
Flakebi May 26, 2021
1b47a3d
[RISCV] Enable cross basic block aware vsetvli insertion
topperc May 25, 2021
d28bc54
[lldb] Remove cache in get_demangled_name_without_arguments
Teemperor May 26, 2021
adf1561
[libunwind] Inform ASan that resumption is noreturn
smeenai May 24, 2021
969eefd
[lldb] add LLDB_SKIP_DSYM option
rmaz May 26, 2021
a0bd610
[DebugInfo] Limit the number of values that may be referenced by a db…
SLTozer May 26, 2021
27d3528
[SLP]Fix vectorization of insertelements with multiple uses.
alexey-bataev May 26, 2021
a45877e
[scudo] Get rid of initLinkerInitialized
May 25, 2021
b2c7ac8
[RISCV] Don't propagate VL/VTYPE across inline assembly in the Insert…
topperc May 26, 2021
d63d662
[RISCV] Remove --riscv-no-aliases from RVV tests
jrtc27 May 26, 2021
6911114
[Scudo] Make -fsanitize=scudo use standalone. Migrate tests.
hctim May 26, 2021
fb14577
[SCEV] Extract out a helper for computing trip multiples
preames May 26, 2021
9065118
[RISCV] Optimize SEW=64 shifts by splat on RV32.
topperc May 26, 2021
921d3f7
[SCEV] Add a utility for converting from "exit count" to "trip count"
preames May 26, 2021
73a1179
[llvm-mc] Add -M to replace -riscv-no-aliases and -riscv-arch-reg-names
MaskRay May 26, 2021
f7c5c0d
Revert "[Scudo] Make -fsanitize=scudo use standalone. Migrate tests."
hctim May 26, 2021
e5eff53
[mlir] Make StripDebugInfo strip out block arguments locs
ThomasRaoux May 26, 2021
9306bb6
[SCEV] Generalize getSmallConstantTripCount(L) for multiple exit loops
preames May 26, 2021
c5c1ec7
[libomptarget][nfc][amdgpu] Refactor uses of KernelInfoTable
JonChesterfield May 26, 2021
13c6568
[AMDGPU][MC][GFX90A] Corrected DS_GWS opcodes
dpreobra May 26, 2021
5e2facb
[AMDGPU] Fix kernel LDS lowering for constants
rampitec May 26, 2021
5bfe06a
[SimplifyCFG] Use make_early_inc_range() while deleting instructions
aheejin May 26, 2021
5dd86aa
[WebAssembly] Add TargetInstrInfo::getCalleeOperand
aheejin May 21, 2021
ff08c34
[SCEV] Compute trip multiple for multiple exit loops
preames May 26, 2021
78c9796
[NFC][X86][Costmodel] Add some more interleaved load/store test with …
LebedevRI May 26, 2021
ab7f26d
[NFC][Codegen][X86] Add a few more interleaved load/store patterns w/…
LebedevRI May 26, 2021
2fdf8bb
[libomptarget][nfc][amdgpu] Factor out setting upper bounds
JonChesterfield May 26, 2021
3b9a1bb
[pstl] Fix -Wundef errors in the test suite
ldionne May 26, 2021
8496fc2
[DebugInstrRef][1/3] Track PHI values through register allocation
jmorse May 26, 2021
6c92215
[CostModel][AArch64] Add floating point arithmetic tests. NFC.
May 26, 2021
c4823cc
[pstl] Workaround more errors in the test suite
ldionne May 26, 2021
cc622ae
[libc++] Add a job testing on GCC 11
ldionne May 25, 2021
1494fa6
Update documentation for InlineModel features.
jacob-hegna May 26, 2021
e4fc8c3
[RISCV][NFC] Fix some whitespace nits in MC test RUN lines
jrtc27 May 26, 2021
fdf10e6
[RISCV] Use X0 as destination of inserted vsetvli when possible.
topperc May 26, 2021
6505c63
[llvm-readobj] Optimize printing stack sizes to linear time.
rlavaee May 26, 2021
c4a41cd
Refactor mutation strategies into a standalone library
nopsledder May 25, 2021
367cb9f
[libcxx][docs] Take mutex for common_iterator, common_view, and empty…
zoecarver May 26, 2021
5852582
[AArch64] Support llvm-mc/llvm-objdump -M no-aliases
MaskRay May 26, 2021
5f8810d
[flang][docs] Initial documentation for the Fortran LLVM Test Suite.
May 26, 2021
52123c9
[libcxx][nfc] Fix the ASAN bots: update expected.pass.cpp.
zoecarver May 26, 2021
1032886
[libFuzzer] Add missing FuzzerBuiltinsMsvc.h include.
morehouse May 26, 2021
0283abe
[lldb] Fix gnu_libstdcpp's update methods
walter-erquinigo May 26, 2021
97f15ed
[mlir][python] Provide "all passes" registration module in Python
aartbik May 26, 2021
fd0a2f7
Revert "Refactor mutation strategies into a standalone library"
morehouse May 26, 2021
94d67b5
[mlir] Add n-D vector lowering to LLVM for cast ops
harsh-nod May 26, 2021
2fe987e
[scudo] Build scudo_standalone on Android and Fuchsia.
hctim May 26, 2021
79c09d5
[tests] Add some basic coverage of multiple exit unrolling
preames May 26, 2021
002f5e1
[Hexagon] Restore handling of expanding shuffles
May 22, 2021
b5c3f17
[MLIR] Add support for empty IVs to affine.parallel
May 21, 2021
2dba405
Revert "[scudo] Build scudo_standalone on Android and Fuchsia."
hctim May 26, 2021
74edfb2
[AArch64][GlobalISel] Legalize non-power-of-2 vector elements for G_S…
aemerson May 26, 2021
caae570
Emit correct location lists with basic block sections.
tmsri May 27, 2021
324af79
[GlobalISel] Don't emit lost debug location remarks when legalizing t…
May 25, 2021
95ce0de
[ORC-RT] Add endianness support to the ORC runtime.
lhames May 26, 2021
08d31ff
Fix unit test after 324af79dbc6066
May 27, 2021
a4b61c8
The compiler is crashing when compiling a coroutine intrinsic without
zahiraam May 20, 2021
4d26f41
[RS4GC] Introduce intrinsics to get base ptr and offset
May 27, 2021
0ce58c5
[Fuchsia][CMake] Add missing include path.
zeroomega May 27, 2021
8d25762
Fix non-global-value-max-name-size not considered by LLParser
May 27, 2021
857fa7b
[libcxx][iterator] adds `std::ranges::next`
cjdb May 8, 2021
0dc7fd1
[libcxx][iterator] adds `std::ranges::prev`
cjdb May 16, 2021
7727425
[gn build] Port 0dc7fd1bc167
llvmgnsyncbot May 27, 2021
cc3db8d
[gn build] Port 857fa7b7b187
llvmgnsyncbot May 27, 2021
d82f2a1
[llvm-objdump] Print the DEBUG type under `--section-headers`.
EsmeYi May 27, 2021
b0b2bf3
[NFCI][LoopDeletion] Only query SCEV about loop successor if another …
xortator May 27, 2021
59d938e
[NFC] Formatting fix
xortator May 27, 2021
51d334a
[NFCI] Lazily evaluate SCEVs of PHIs
xortator May 27, 2021
281ee42
[mlir] Add a pass to distribute linalg::TiledLoopOp.
pifon2a May 26, 2021
3f85e12
[docs] llvm-objdump: Mention -M no-aliases is supported on AArch64
MaskRay May 27, 2021
62686a4
[mlir] Add TestLinalgDistribution.cpp to cmake build.
pifon2a May 27, 2021
9f39ba1
[GlobalISel] Implement splitting of G_SHUFFLE_VECTOR.
aemerson May 20, 2021
c467585
[NFC] Reuse existing variables instead of re-requesting successors
xortator May 27, 2021
7d418da
[NFCI][LoopDeletion] Do not call complex analysis for known non-zero BTC
xortator May 27, 2021
108ca7a
[mlir] Support dialect-wide canonicalization pattern registration
matthias-springer May 27, 2021
0bb60db
[AMDGPU][GlobalISel] Allow amdgpu_gfx calling conv
Flakebi May 26, 2021
772b58a
[SelectionDAG][RISCV] Don't unroll 0/1-type bool VSELECTs
frasercrmck May 26, 2021
9a4506e
[Matrix] Include matrix pipeline for new PM in new-pm-defaults.ll.
fhahn May 27, 2021
2ae5843
[lit][test] Improve testing of use_llvm_tool
jh7370 May 26, 2021
1546c52
Add triples to a bunch of x86-specific tests that currently fail on PPC
d0k May 27, 2021
7faffde
[clang-format] [NFC] realign documentation in Format.h...
MaxSagebaum May 27, 2021
1d5b976
[ARM] Extra test for reverted WLS memset. NFC
davemgreen May 27, 2021
ea4c5fb
[OpenMP]Add support for workshare loop modifier in lowering
Leporacanthicus Apr 30, 2021
8b79dfb
[AMDGPU][Libomptarget][NFC] Remove atmi_mem_place_t
pdhaliwal-amd May 27, 2021
86627be
Revert "[OpenMP]Add support for workshare loop modifier in lowering"
Leporacanthicus May 27, 2021
5f2d4b2
Add --quiet option to llvm-gsymutil to suppress output of warnings.
sfc-gh-sgiesecke May 20, 2021
ce4f99e
[mlir][Linalg] Add comprehensive bufferization support for subtensor …
nicolasvasilache May 27, 2021
8edd346
Add support for #elifdef and #elifndef
AaronBallman May 27, 2021
38641dd
[VPlan] Do not sink uniform recipes in sinkScalarOperands.
fhahn May 27, 2021
8c73a31
[RISCV] Allow passing fixed-length vectors via the stack
frasercrmck May 13, 2021
b7101e2
[DAGCombine][RISCV] Don't try to trunc-store combined vector stores
frasercrmck May 26, 2021
ce276b7
Fix -Wswitch warning; NFC
AaronBallman May 27, 2021
8a203ac
AMDGPU/GlobalISel: Remove redundant parameter from function
arsenm May 18, 2021
ee35900
AMDGPU/GlobalISel: Lower constant-32-bit zextload/sextload consistently
arsenm May 18, 2021
758f51c
Speculatively fix a -Woverloaded-virtual diagnostic; NFC
AaronBallman May 27, 2021
caf86d2
Speculatively fix this harder and with improved spelling capabilities.
AaronBallman May 27, 2021
eba69b5
Reimplement __builtin_unique_stable_name-
Apr 23, 2021
3879fcd
Reuse temporary files for print-changed=diff
jamieschmeiser May 27, 2021
023fbf3
Correct the 'KEYALL' mask.
May 27, 2021
96ef4f4
Hopefully fix the Clang sphinx doc build.
AaronBallman May 27, 2021
9091ecd
[OpenMP]Add support for workshare loop modifier in lowering
Leporacanthicus Apr 30, 2021
7754372
Merge commit '66963bf3819df4f47bd874a946af058f0c1c4ec0' into develop
Jul 16, 2021
4813124
Merge commit '9091ecdae0290d8c425d48a2c86bbdd4876d6507' into feature/…
kaz7 Jul 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.
5 changes: 5 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Reporting LLVM Security Issues

To report security issues in LLVM, please follow the steps outlined on the
[LLVM Security Group](https://llvm.org/docs/Security.html#how-to-report-a-security-issue)
page.
6 changes: 6 additions & 0 deletions clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,9 @@ void ClangTidyDiagnosticConsumer::HandleDiagnostic(
case DiagnosticsEngine::Warning:
CheckName = "clang-diagnostic-warning";
break;
case DiagnosticsEngine::Remark:
CheckName = "clang-diagnostic-remark";
break;
default:
CheckName = "clang-diagnostic-unknown";
break;
Expand All @@ -460,7 +463,10 @@ void ClangTidyDiagnosticConsumer::HandleDiagnostic(
Level = ClangTidyError::Error;
LastErrorRelatesToUserCode = true;
LastErrorPassesLineFilter = true;
} else if (DiagLevel == DiagnosticsEngine::Remark) {
Level = ClangTidyError::Remark;
}

bool IsWarningAsError = DiagLevel == DiagnosticsEngine::Warning &&
Context.treatAsError(CheckName);
Errors.emplace_back(CheckName, Level, Context.getCurrentBuildDirectory(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ bool containsEscapedCharacters(const MatchFinder::MatchResult &Result,
*Result.SourceManager, Result.Context->getLangOpts());
StringRef Text = Lexer::getSourceText(CharRange, *Result.SourceManager,
Result.Context->getLangOpts());
if (isRawStringLiteral(Text))
if (Text.empty() || isRawStringLiteral(Text))
return false;

return containsEscapes(Text, R"('\"?x01)");
Expand Down
7 changes: 5 additions & 2 deletions clang-tools-extra/clangd/ClangdServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ struct UpdateIndexCallbacks : public ParsingCallbacks {
const CanonicalIncludes &CanonIncludes) override {
if (FIndex)
FIndex->updatePreamble(Path, Version, Ctx, std::move(PP), CanonIncludes);
if (ServerCallbacks)
ServerCallbacks->onSemanticsMaybeChanged(Path);
}

void onMainAST(PathRef Path, ParsedAST &AST, PublishFn Publish) override {
Expand Down Expand Up @@ -105,6 +103,11 @@ struct UpdateIndexCallbacks : public ParsingCallbacks {
ServerCallbacks->onFileUpdated(File, Status);
}

void onPreamblePublished(PathRef File) override {
if (ServerCallbacks)
ServerCallbacks->onSemanticsMaybeChanged(File);
}

private:
FileIndex *FIndex;
ClangdServer::Callbacks *ServerCallbacks;
Expand Down
1 change: 1 addition & 0 deletions clang-tools-extra/clangd/TUScheduler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -909,6 +909,7 @@ void PreambleThread::build(Request Req) {
ASTPeer.updatePreamble(std::move(Req.CI), std::move(Req.Inputs),
LatestBuild, std::move(Req.CIDiags),
std::move(Req.WantDiags));
Callbacks.onPreamblePublished(FileName);
});

if (!LatestBuild || Inputs.ForceRebuild) {
Expand Down
5 changes: 5 additions & 0 deletions clang-tools-extra/clangd/TUScheduler.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,11 @@ class ParsingCallbacks {

/// Called whenever the TU status is updated.
virtual void onFileUpdated(PathRef File, const TUStatus &Status) {}

/// Preamble for the TU have changed. This might imply new semantics (e.g.
/// different highlightings). Any actions on the file are guranteed to see new
/// preamble after the callback.
virtual void onPreamblePublished(PathRef File) {}
};

/// Handles running tasks for ClangdServer and managing the resources (e.g.,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// A
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module A { header "A.h" }
15 changes: 15 additions & 0 deletions clang-tools-extra/test/clang-tidy/infrastructure/remarks.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// RUN: rm -rf %t
// RUN: cp -r %S/Inputs/remarks %t
// RUN: cp %s %t/t.cpp

// RUN: clang-tidy -checks='-*,modernize-use-override,clang-diagnostic-module-import' t.cpp -- \
// RUN: -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/cache \
// RUN: -fsyntax-only \
// RUN: -I%S/Inputs/remarks \
// RUN: -working-directory=%t \
// RUN: -Rmodule-build -Rmodule-import t.cpp 2>&1 |\
// RUN: FileCheck %s -implicit-check-not "remark:"

#include "A.h"
// CHECK: remark: importing module 'A' from {{.*}} [clang-diagnostic-module-import]

2 changes: 1 addition & 1 deletion clang/cmake/caches/Fuchsia-stage2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ if(FUCHSIA_SDK)
set(FUCHSIA_x86_64-unknown-fuchsia_NAME x64)
set(FUCHSIA_riscv64-unknown-fuchsia_NAME riscv64)
foreach(target i386-unknown-fuchsia;x86_64-unknown-fuchsia;aarch64-unknown-fuchsia;riscv64-unknown-fuchsia)
set(FUCHSIA_${target}_COMPILER_FLAGS "--target=${target} -I${FUCHSIA_SDK}/pkg/fdio/include")
set(FUCHSIA_${target}_COMPILER_FLAGS "--target=${target} -I${FUCHSIA_SDK}/pkg/sync/include -I${FUCHSIA_SDK}/pkg/fdio/include")
set(FUCHSIA_${target}_LINKER_FLAGS "-L${FUCHSIA_SDK}/arch/${FUCHSIA_${target}_NAME}/lib")
set(FUCHSIA_${target}_SYSROOT "${FUCHSIA_SDK}/arch/${FUCHSIA_${target}_NAME}/sysroot")
endforeach()
Expand Down
66 changes: 64 additions & 2 deletions clang/docs/LanguageExtensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1806,6 +1806,34 @@ OpenCL Features

Clang supports internal OpenCL extensions documented below.

``__cl_clang_bitfields``
--------------------------------

With this extension it is possible to enable bitfields in structs
or unions using the OpenCL extension pragma mechanism detailed in
`the OpenCL Extension Specification, section 1.2
<https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#extensions-overview>`_.

Use of bitfields in OpenCL kernels can result in reduced portability as struct
layout is not guaranteed to be consistent when compiled by different compilers.
If structs with bitfields are used as kernel function parameters, it can result
in incorrect functionality when the layout is different between the host and
device code.

**Example of Use**:

.. code-block:: c++

#pragma OPENCL EXTENSION __cl_clang_bitfields : enable
struct with_bitfield {
unsigned int i : 5; // compiled - no diagnostic generated
};

#pragma OPENCL EXTENSION __cl_clang_bitfields : disable
struct without_bitfield {
unsigned int i : 5; // error - bitfields are not supported
};

``__cl_clang_function_pointers``
--------------------------------

Expand All @@ -1831,7 +1859,7 @@ correctly in any circumstances. It can be used if:
metaprogramming algorithms to be able to specify/detect types generically.

- the generated kernel binary does not contain indirect calls because they
are eliminated using compiler optimizations e.g. devirtualization.
are eliminated using compiler optimizations e.g. devirtualization.

- the selected target supports the function pointer like functionality e.g.
most CPU targets.
Expand Down Expand Up @@ -2441,6 +2469,40 @@ argument.
int *pb =__builtin_preserve_access_index(&v->c[3].b);
__builtin_preserve_access_index(v->j);

``__builtin_sycl_unique_stable_name``
-------------------------------------

``__builtin_sycl_unique_stable_name()`` is a builtin that takes a type and
produces a string literal containing a unique name for the type that is stable
across split compilations, mainly to support SYCL/Data Parallel C++ language.

In cases where the split compilation needs to share a unique token for a type
across the boundary (such as in an offloading situation), this name can be used
for lookup purposes, such as in the SYCL Integration Header.

The value of this builtin is computed entirely at compile time, so it can be
used in constant expressions. This value encodes lambda functions based on a
stable numbering order in which they appear in their local declaration contexts.
Once this builtin is evaluated in a constexpr context, it is erroneous to use
it in an instantiation which changes its value.

In order to produce the unique name, the current implementation of the bultin
uses Itanium mangling even if the host compilation uses a different name
mangling scheme at runtime. The mangler marks all the lambdas required to name
the SYCL kernel and emits a stable local ordering of the respective lambdas,
starting from ``10000``. The initial value of ``10000`` serves as an obvious
differentiator from ordinary lambda mangling numbers but does not serve any
other purpose and may change in the future. The resulting pattern is
demanglable. When non-lambda types are passed to the builtin, the mangler emits
their usual pattern without any special treatment.

**Syntax**:

.. code-block:: c

// Computes a unique stable name for the given type.
constexpr const char * __builtin_sycl_unique_stable_name( type-id );

Multiprecision Arithmetic Builtins
----------------------------------

Expand Down Expand Up @@ -2635,7 +2697,7 @@ Guaranteed inlined copy
``__builtin_memcpy_inline`` has been designed as a building block for efficient
``memcpy`` implementations. It is identical to ``__builtin_memcpy`` but also
guarantees not to call any external functions. See LLVM IR `llvm.memcpy.inline
<https://llvm.org/docs/LangRef.html#llvm-memcpy-inline-intrinsic>`_ intrinsic
<https://llvm.org/docs/LangRef.html#llvm-memcpy-inline-intrinsic>`_ intrinsic
for more information.

This is useful to implement a custom version of ``memcpy``, implement a
Expand Down
31 changes: 25 additions & 6 deletions clang/docs/OpenCLSupport.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

<style type="text/css">
.none { background-color: #FFCCCC }
.partial { background-color: #FFFF99 }
.part { background-color: #FFFF99 }
.good { background-color: #CCFF99 }
</style>

.. role:: none
.. role:: partial
.. role:: part
.. role:: good

.. contents::
Expand Down Expand Up @@ -327,7 +327,7 @@ Limited support of experimental C++ libraries is described in the :ref:`experime

Bugzilla bugs for this functionality are typically prefixed
with '[C++4OpenCL]' - click `here
<https://bugs.llvm.org/buglist.cgi?component=OpenCL&list_id=204139&product=clang&query_format=advanced&resolution=---&sh ort_desc=%5BC%2B%2B4OpenCL%5D&short_desc_type=allwordssubstr>`_
<https://bugs.llvm.org/buglist.cgi?component=OpenCL&list_id=204139&product=clang&query_format=advanced&resolution=---&short_desc=%5BC%2B%2B4OpenCL%5D&short_desc_type=allwordssubstr>`__
to view the full bug list.


Expand All @@ -339,8 +339,25 @@ Missing features or with limited support

.. _opencl_300:

OpenCL 3.0 Implementation Status
================================
OpenCL C 3.0 Usage
==================

OpenCL C 3.0 language standard makes most OpenCL C 2.0 features optional. Optional
functionality in OpenCL C 3.0 is indicated with the presence of feature-test macros
(list of feature-test macros is `here <https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#features>`__).
Command-line flag :ref:`-cl-ext <opencl_cl_ext>` can be used to override features supported by a target.

For cases when there is an associated extension for a specific feature (fp64 and 3d image writes)
user should specify both (extension and feature) in command-line flag:

.. code-block:: console

$ clang -cc1 -cl-std=CL3.0 -cl-ext=+cl_khr_fp64,+__opencl_c_fp64 ...
$ clang -cc1 -cl-std=CL3.0 -cl-ext=-cl_khr_fp64,-__opencl_c_fp64 ...


OpenCL C 3.0 Implementation Status
----------------------------------

The following table provides an overview of features in OpenCL C 3.0 and their
implementation status.
Expand All @@ -354,7 +371,7 @@ implementation status.
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| Predefined macros | Feature macros | :good:`done` | https://reviews.llvm.org/D95776 |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| Feature optionality | Generic address space | :none:`unclaimed` | |
| Feature optionality | Generic address space | :none:`worked on` | https://reviews.llvm.org/D95778 (partial frontend) |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| Feature optionality | Builtin function overloads with generic address space | :part:`worked on` | https://reviews.llvm.org/D92004 |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
Expand All @@ -372,6 +389,8 @@ implementation status.
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| Feature optionality | Work group collective functions | :part:`worked on` | https://reviews.llvm.org/D92004 |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| Feature optionality | Image types | :part:`unclaimed` | |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| New functionality | RGBA vector components | :good:`done` | https://reviews.llvm.org/D99969 |
+------------------------------+--------------------------------------------------------------+----------------------+---------------------------------------------------------------------------+
| New functionality | Subgroup functions | :part:`worked on` | https://reviews.llvm.org/D92004 |
Expand Down
12 changes: 9 additions & 3 deletions clang/docs/SanitizerCoverage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,17 @@ will not be instrumented.
// for every non-constant array index.
void __sanitizer_cov_trace_gep(uintptr_t Idx);

Partially disabling instrumentation
===================================
Disabling instrumentation with ``__attribute__((no_sanitize("coverage")))``
===========================================================================

It is possible to disable coverage instrumentation for select functions via the
function attribute ``__attribute__((no_sanitize("coverage")))``.

Disabling instrumentation without source modification
=====================================================

It is sometimes useful to tell SanitizerCoverage to instrument only a subset of the
functions in your target.
functions in your target without modifying source files.
With ``-fsanitize-coverage-allowlist=allowlist.txt``
and ``-fsanitize-coverage-blocklist=blocklist.txt``,
you can specify such a subset through the combination of an allowlist and a blocklist.
Expand Down
23 changes: 23 additions & 0 deletions clang/include/clang/AST/ASTContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -2355,6 +2355,12 @@ class ASTContext : public RefCountedBase<ASTContext> {
/// If \p T is null pointer, assume the target in ASTContext.
MangleContext *createMangleContext(const TargetInfo *T = nullptr);

/// Creates a device mangle context to correctly mangle lambdas in a mixed
/// architecture compile by setting the lambda mangling number source to the
/// DeviceLambdaManglingNumber. Currently this asserts that the TargetInfo
/// (from the AuxTargetInfo) is a an itanium target.
MangleContext *createDeviceMangleContext(const TargetInfo &T);

void DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, bool leafClass,
SmallVectorImpl<const ObjCIvarDecl*> &Ivars) const;

Expand Down Expand Up @@ -3158,10 +3164,27 @@ OPT_LIST(V)

StringRef getCUIDHash() const;

void AddSYCLKernelNamingDecl(const CXXRecordDecl *RD);
bool IsSYCLKernelNamingDecl(const NamedDecl *RD) const;
unsigned GetSYCLKernelNamingIndex(const NamedDecl *RD) const;
/// A SourceLocation to store whether we have evaluated a kernel name already,
/// and where it happened. If so, we need to diagnose an illegal use of the
/// builtin.
llvm::MapVector<const SYCLUniqueStableNameExpr *, std::string>
SYCLUniqueStableNameEvaluatedValues;

private:
/// All OMPTraitInfo objects live in this collection, one per
/// `pragma omp [begin] declare variant` directive.
SmallVector<std::unique_ptr<OMPTraitInfo>, 4> OMPTraitInfoVector;

/// A list of the (right now just lambda decls) declarations required to
/// name all the SYCL kernels in the translation unit, so that we can get the
/// correct kernel name, as well as implement
/// __builtin_sycl_unique_stable_name.
llvm::DenseMap<const DeclContext *,
llvm::SmallPtrSet<const CXXRecordDecl *, 4>>
SYCLKernelNamingTypes;
};

/// Insertion operator for diagnostics.
Expand Down
2 changes: 2 additions & 0 deletions clang/include/clang/AST/ComputeDependence.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ class MaterializeTemporaryExpr;
class CXXFoldExpr;
class TypeTraitExpr;
class ConceptSpecializationExpr;
class SYCLUniqueStableNameExpr;
class PredefinedExpr;
class CallExpr;
class OffsetOfExpr;
Expand Down Expand Up @@ -165,6 +166,7 @@ ExprDependence computeDependence(TypeTraitExpr *E);
ExprDependence computeDependence(ConceptSpecializationExpr *E,
bool ValueDependent);

ExprDependence computeDependence(SYCLUniqueStableNameExpr *E);
ExprDependence computeDependence(PredefinedExpr *E);
ExprDependence computeDependence(CallExpr *E, llvm::ArrayRef<Expr *> PreArgs);
ExprDependence computeDependence(OffsetOfExpr *E);
Expand Down
Loading