Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW41) #2602

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 559 commits into from
Oct 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
559 commits
Select commit Hold shift + click to select a range
7912286
[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS …
stefanp-synopsys Oct 1, 2020
5f3e565
Revert "[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used…
stefanp-synopsys Oct 1, 2020
499260c
Revert "[CFGuard] Add address-taken IAT tables and delay-load support"
aeubanks Oct 1, 2020
149f5b5
[APFloat] convert SNaN to QNaN in convert() and raise Invalid signal
rotateright Oct 1, 2020
8d26760
[CMake] Use -isystem flag to access libc++ headers
petrhosek Sep 28, 2020
9d1c8c0
[InstCombine] Fix select operand simplification with undef (PR47696)
nikic Oct 1, 2020
5d46d7e
[PDB] Use one func id DenseMap instead of per-source maps, NFC
rnk Sep 30, 2020
d12ae04
[lit] Fix Python 2/3 compat in new winreg search code
rnk Oct 1, 2020
de47e71
[CMake][Fuchsia] Don't set WIN32 API, rely on autodetection
petrhosek Oct 1, 2020
88f2fe5
Raland D87318 [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL3…
MaskRay Oct 1, 2020
35ecc7f
[clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast
hubert-reinterpretcast Oct 1, 2020
4c265ce
[AArch64][GlobalISel] Camp oversize v4s64 G_FPEXT operations.
aemerson Oct 1, 2020
7345753
[AArch64][GlobalISel] Use custom legalization for G_TRUNC for v8i8 ve…
aemerson Sep 23, 2020
1c1a810
libclc: Use find_package to find Python 3 and require it
aaronpuchert Oct 1, 2020
b29573b
[gn build] Support building with ThinLTO
aeubanks Sep 29, 2020
6b25aa6
Merge from 'sycl' to 'sycl-web'
Oct 1, 2020
9f6acb1
[AArch64][GlobalISel] Merge G_SHL, G_ASHR and G_LSHR legalizer rules …
aemerson Oct 1, 2020
15ea45f
[lldb] Skip unique_ptr import-std-module tests on Linux
Teemperor Oct 1, 2020
4140f07
[LLD][COFF] Fix crash with /summary and PCH input files
aganea Oct 1, 2020
8071c2f
[AArch64][GlobalISel] Make <8 x s8> shifts legal.
aemerson Oct 1, 2020
9a2b3bb
Revert "[AArch64][GlobalISel] Make <8 x s8> shifts legal."
aemerson Oct 1, 2020
a97e97f
[AArch64][GlobalISel] Make <8 x s8> shifts legal and add selection su…
aemerson Oct 1, 2020
e28c589
[AArch64][GlobalISel] Make <8 x s8> integer arithmetic ops legal.
aemerson Oct 1, 2020
017b871
[AArch64][GlobalISel] Alias rules for G_FCMP to G_ICMP.
aemerson Oct 1, 2020
cdabc42
Merge from 'master' to 'sycl-web' (#1)
aelovikov-intel Oct 1, 2020
8e8664e
[AArch64][GlobalISel] Use emitTestBit in selection for G_BRCOND
Oct 1, 2020
5402d11
[GlobalISel][AArch64] Don't emit cset for G_FCMPs feeding into G_BRCONDs
Sep 30, 2020
e99d184
[flang] Readability improvement in binary->decimal conversion
klausler Sep 30, 2020
caeb13a
[AMDGPU] Allow SOP asm mnemonic to differ
rampitec Oct 1, 2020
de3cb95
Fix a bug in memset formation with vectors of non-integral pointers
preames Oct 1, 2020
aab6f7d
[AArch64][SVE] Add lowering for llvm fabs
Oct 1, 2020
bb03446
[memcpyopt] Conservatively handle non-integral pointers
preames Oct 1, 2020
75a5ec1
[flang][msvc] Rework a MSVC work-around to avoid clang warning
klausler Oct 1, 2020
61687f3
[flang] Fix buffering read->write transition
klausler Sep 30, 2020
78a9e62
[XCOFF] Enable -fdata-sections on AIX
jasonliudev Oct 1, 2020
a94d943
[flang] Fix actions at end of output record
klausler Oct 1, 2020
3261aef
[flang] Extend runtime API for PAUSE to allow a stop code
klausler Oct 1, 2020
c1dcb57
[flang][openacc] Update loop construct lowering
clementval Oct 2, 2020
82453e7
[OpenMP] Add Missing Runtime Call for Globalization Remarks
jhuber6 Sep 30, 2020
c4690b0
[PowerPC] Put the CR field in low bits of GRC during copying CRRC to …
Oct 2, 2020
5136f47
CodeGen: Fix livein calculation in MachineBasicBlock splitAt
perlfu Oct 2, 2020
a1e9792
Have kernel binary scanner load dSYMs as binary+dSYM if best thing found
jasonmolenda Oct 2, 2020
2ef9d21
[AMDGPU] SIInsertSkips: Tidy block splitting to use splitAt
perlfu Oct 2, 2020
f29645e
[gvn] Handle a corner case w/vectors of non-integral pointers
preames Oct 2, 2020
b8ac19c
[SCEV] Limited support for unsigned preds in isImpliedViaOperations
xortator Oct 2, 2020
47df8c5
[MLIR] Updates around MemRef Normalization
stephenneuendorffer Sep 30, 2020
afb4e0f
[AArch64] Omit SEH directives for the epilogue if none are needed
mstorsjo Oct 1, 2020
b8ce6a6
[SVE][CodeGen] Add new EVT/MVT getFixedSizeInBits() functions
david-arm Oct 1, 2020
b0ce9f0
[SVE][CodeGen] Fix implicit TypeSize->uint64_t casts in TypePromotion
david-arm Sep 30, 2020
542523a
[WebAssembly] Emulate v128.const efficiently
tlively Oct 2, 2020
bc18d8d
[clangd] Drop dependence on standard library in check.test
sam-mccall Oct 2, 2020
bfd7ee9
Handle unused variable without asserts
tpopp Oct 2, 2020
5829dc9
[yaml2obj][elf2yaml] - Add a support for the `EntSize` field for `SHT…
Oct 1, 2020
9573c9f
Fix limit behavior of dynamic alloca
Sep 30, 2020
17747d2
[clangd] Remove Tweak::Intent, use CodeAction kind directly. NFC
sam-mccall Sep 28, 2020
067add7
[RISCV] Support vmsge.vx and vmsgeu.vx pseudo instructions in RVV.
Hsiangkai Jul 28, 2020
f7c0e2b
[ARM] Prevent constants from iCmp instruction from being hoisted if p…
MeeraN7 Oct 2, 2020
670e60c
[InstCombine] Add partial bswap test from D88578
RKSimon Oct 2, 2020
e3de249
[mlir] Add a subtensor operation
Oct 2, 2020
787bf5e
[mlir] Add canonicalization for the `subtensor` op
Oct 2, 2020
ec07ae2
[InstCombine] Add some basic vector bswap tests
RKSimon Oct 2, 2020
54c03d8
[clangd][lit] Update document-link.test to respect custom resource-di…
kadircet Oct 2, 2020
cf9503c
[mlir] Add subtensor_insert operation
Oct 2, 2020
d4568ed
[MLIR][LLVM] Fixed `topologicalSort()` to iterative version
georgemitenkov Oct 2, 2020
8ae1369
[GVN LoadPRE] Add test to show an opportunty.
Oct 2, 2020
6481a76
[PhaseOrdering] Add test that requires peeling before vectorization.
fhahn Sep 29, 2020
57ac47d
[clangd] Make PopulateSwitch a fix.
sam-mccall Oct 2, 2020
8825fec
[AArch64] Add CPU Cortex-R82
Oct 1, 2020
53fb9d0
[InstCombine] Add partial bswap vector test from D88578
RKSimon Oct 2, 2020
bb448a2
[SLP] Add test where reduction result is used in PHI.
fhahn Oct 2, 2020
71b89b1
LoopAccessAnalysis.cpp - use const reference in for-range loops. NFCI.
RKSimon Oct 2, 2020
4edd74a
BlockFrequencyInfoImpl.h - use const references to avoid FrequencyDat…
RKSimon Oct 2, 2020
c7d4aa7
[libc++] Move the weak symbols list to libc++abi
ldionne Oct 1, 2020
55b97a6
[LLD][COFF] Add more type record information to /summary
aganea Oct 2, 2020
fe1f0a1
[LLD] Fix /time formatting for very long runs. NFC.
aganea Oct 2, 2020
fa59135
[Analysis] Drop local maxAPInt/minAPInt helpers. NFCI.
RKSimon Oct 2, 2020
0f0cbcc
[clangd] Extend the rename API.
hokein Oct 2, 2020
36501b1
Emit predefined macro for wavefront size for amdgcn
yxsamliu Sep 27, 2020
0c1bb4f
[TableGen] New backend to print detailed records.
Sep 22, 2020
d9e3972
[gn build] Port 0c1bb4f8851
llvmgnsyncbot Oct 2, 2020
2a9ce60
[compiler-rt] [netbsd] Improve the portability of ThreadSelfTlsTcb
krytarowski Oct 2, 2020
c87c017
Fix failure in test hip-macros.hip
yxsamliu Oct 2, 2020
7b19cd0
[Statepoints][ISEL] visitGCRelocate: chain to current DAG root.
dantrushin Oct 1, 2020
f2c6bfa
Fix interaction between stack alignment and inline-asm stack clash pr…
Jul 23, 2020
86b14d0
[mlir] Attempt to appease gcc-5 const char* -> StringLiteral conversi…
Oct 2, 2020
a611f9a
[mlir] Fix call op conversion in bare-ptr calling convention
dcaballe Oct 2, 2020
db2a646
[clangd] Add bencmark for measuring latency of DecisionForest model.
usx95 Sep 30, 2020
f192594
[AArch64] Generate dot for v16i8 sum reduction to i32
mvinay-ctt Oct 2, 2020
5e8e89d
TruncInstCombine.cpp - use auto * to fix llvm-qualified-auto clang-ti…
RKSimon Oct 2, 2020
0347f3e
TruncInstCombine.cpp - fix header include ordering to fix llvm-includ…
RKSimon Oct 2, 2020
3d14a1e
[InstCombine] recognizeBSwapOrBitReverseIdiom - support for 'partial'…
RKSimon Oct 2, 2020
432e4e5
Revert "[WebAssembly] Emulate v128.const efficiently"
sstamenova Oct 2, 2020
33fa3db
[CostModel] move default handling after switch; NFC
rotateright Oct 2, 2020
34d12c1
[MLIR] Better message for FuncOp type mismatch
stephenneuendorffer Jul 30, 2020
2fc0d4a
[mlir] Add Float Attribute, Integer Attribute and Bool Attribute subc…
zhanghb97 Sep 30, 2020
64c54c5
[MemCpyOpt] Regnerate test checks (NFC)
nikic Oct 1, 2020
0867a9e
[VPlan] Use isa<> instead of directly checking VPRecipeID (NFC).
fhahn Oct 2, 2020
07c1125
[lldb] Fix bug in fallback logic for finding the resource directory.
JDevlieghere Oct 2, 2020
aac2de1
[libc++] Remove unnecessary usage of <iostream> in the test suite
ldionne Sep 21, 2020
d0dd7ca
[InstCombine] Add trunc(bswap(trunc/zext(x))) vector tests
RKSimon Oct 2, 2020
d1c8e17
[mlir][vector] Add canonicalization patterns for extractMap/insertMap
ThomasRaoux Oct 2, 2020
0364721
Revert rG3d14a1e982ad27 - "[InstCombine] recognizeBSwapOrBitReverseId…
RKSimon Oct 2, 2020
b1bf246
[AlwaysInliner] Update BFI when inlining
aeubanks Sep 25, 2020
9b8c0b8
Revert "[AlwaysInliner] Update BFI when inlining"
aeubanks Oct 2, 2020
354ba1c
[gn build] Don't define CINDEX_EXPORTS
aeubanks Oct 2, 2020
eb55735
Reland [AlwaysInliner] Update BFI when inlining
aeubanks Sep 25, 2020
a8938f3
scudo: Simplify AtomicOptions::setFillContentsMode. NFCI.
pcc Oct 2, 2020
7468afe
[DAE] MarkLive in MarkValue(MaybeLive) if any use is live
aeubanks Sep 30, 2020
84feca6
[MemCpyOpt] Add tests from D40802 (NFC)
nikic Oct 2, 2020
1a92de0
[libc++] NFCI: Remove _LIBCPP_EXTERN_TEMPLATE2
ldionne Oct 2, 2020
1e020b2
Update legalizer-info-validation.mir test to test all opcodes.
aemerson Oct 2, 2020
322519e
[llc] Initialize TargetOptions after Triple is available
MaskRay Oct 2, 2020
66cf68e
[docs] Update ControlFlowIntegrity.rst.
eugenis Sep 15, 2020
31e8203
[libc++] NFCI: Simplify macro definitions for the debug mode
ldionne Oct 2, 2020
870827f
[libc++] NFCI: Remove the _LIBCPP_DEBUG_MODE helper macro
ldionne Oct 2, 2020
0c8f9b8
[MLIR][SPIRV] Add initial support for OpSpecConstantComposite.
ergawy Oct 2, 2020
24f406e
Relax newly added opcode alias check to check only for a number inste…
dyung Oct 2, 2020
87b63c1
[MemCpyOpt] Avoid double invalidation (NFCI)
nikic Oct 2, 2020
94704ed
[MemCpyOpt] Add helper to erase instructions (NFC)
nikic Oct 2, 2020
128e999
[lldb] Add a "design" section to the documentation.
JDevlieghere Oct 2, 2020
11622d0
[flang][NFC] Fix mis-matched struct/class declarations
tskeith Oct 2, 2020
045a620
Release the shadow memory used by the mmap range at munmap
stephan-yichao-zhao Oct 1, 2020
0373c76
[llvm-objcopy][NFC] refactor error handling. part 3.
avl-llvm Sep 19, 2020
f528816
[Hexagon] Move selection of HVX multiply from lowering to patterns
Oct 1, 2020
f7e91e6
[libc++] Allow retries on some slightly flaky mutex tests
ldionne Oct 2, 2020
a594fd2
[Driver] Move detectLibcxxIncludePath to ToolChain
petrhosek Sep 22, 2020
ace6440
[clang-tidy] Implement readability-function-cognitive-complexity check
LebedevRI Aug 17, 2017
14f6bfc
[clang] Implement objc_non_runtime_protocol to remove protocol metadata
lanza Feb 27, 2020
aff896d
[NFC][MSAN] Extract llvm.abs handling into a function
vitalybuka Sep 29, 2020
04fce15
[libc++] Fix the build with GCC < 10
ldionne Oct 2, 2020
dc6a0b0
[HIP] Align device binary
yxsamliu Sep 25, 2020
8fb2a23
Don't reject calls to MinGW's unusual _setjmp declaration.
zygoloid Oct 2, 2020
b113fa4
[test][Coro][NewPM] Fix coro-elide.ll under NPM
aeubanks Oct 2, 2020
321986f
[MetaRenamer][NewPM] Port metarenamer to NPM
aeubanks Oct 1, 2020
4b9ab3e
Merge from 'sycl' to 'sycl-web'
Oct 2, 2020
3847986
Fix the test case from D88686
stephan-yichao-zhao Oct 2, 2020
cbd420c
[CUDA][HIP] Fix bound arch for offload action for fat binary
yxsamliu Sep 30, 2020
c56bb45
[fuzzer] Remove unused variable
Oct 2, 2020
2cd75f7
Diagnose invalid target ID for AMDGPU toolchain for assembler
yxsamliu Sep 30, 2020
9a48411
Revert "[Driver] Move detectLibcxxIncludePath to ToolChain"
petrhosek Oct 2, 2020
c8e7392
[gn build] Port ace644030e6
llvmgnsyncbot Oct 2, 2020
64f2855
[CMake] Don't use CMakePushCheckState
petrhosek Oct 2, 2020
9ae95a0
[Sparc] Remove cast that truncates immediate operands to 32 bits.
brad0 Oct 3, 2020
88c9162
Fix the test case in D88686
stephan-yichao-zhao Oct 3, 2020
1c897e9
[lsan] Share platform allocator settings between ASan and LSan
frobtech Sep 23, 2020
5b0cfe9
Revert "[lsan] Share platform allocator settings between ASan and LSan"
frobtech Oct 3, 2020
63fc849
[X86] Add missing intrinsic test for aesdecwide128kl and aesdecwide25…
topperc Oct 3, 2020
8ae4842
[X86] Move MWAITX_DAG ISD opcode so it is not in the strict FP range.
topperc Oct 3, 2020
e25bf25
[Driver] Move detectLibcxxIncludePath to ToolChain
petrhosek Sep 22, 2020
a0a8f83
[PATCH] Fix typo (NFC)
ebahapo Oct 2, 2020
e2dd86b
[X86] Key Locker instructions should use VR128 regclass not VR128X.
topperc Oct 3, 2020
baaada3
[MemCpyOpt] Remove unnecessary -dse from test (NFC)
nikic Oct 3, 2020
fbf8187
[MemCpyOpt] Make moveUp() a member method (NFC)
nikic Oct 3, 2020
49e34e2
[ARM] Test to show incorrect pointer info. NFC
davemgreen Oct 3, 2020
0ce6d6b
[Sema] List conversion validate character array.
mordante Oct 3, 2020
1596cc8
[NFCI][clang-tidy] FunctionCognitiveComplexityCheck::check(): try to …
LebedevRI Oct 3, 2020
3aa93f6
[InstCombine] recognizeBSwapOrBitReverseIdiom - support for 'partial'…
RKSimon Oct 3, 2020
07028cd
modernize-use-trailing-return-type fix for PR44206
bernhardmgruber Oct 3, 2020
35a2a04
[flang][NFC] Fix build errors for clang-10
banach-space Oct 2, 2020
347fd99
[InstCombine] recognizeBSwapOrBitReverseIdiom - use generic CreateInt…
RKSimon Oct 3, 2020
089e628
Add a break statement to appease the build bots; NFC
AaronBallman Oct 3, 2020
aacfe2b
[InstCombine] recognizeBSwapOrBitReverseIdiom - add vector support
RKSimon Oct 3, 2020
7feafa0
[ARM] Fix pointer offset when splitting stores from VMOVDRR
davemgreen Oct 3, 2020
78530ce
Add indented raw_ostream class
jpienaar Oct 3, 2020
b82a748
[InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) rotat…
RKSimon Oct 3, 2020
be185b6
Revert "Add indented raw_ostream class"
jpienaar Oct 3, 2020
dca4b71
[Analysis] resolveAllCalls - fix use after std::move warning. NFCI.
RKSimon Oct 3, 2020
53fc426
[InstCombine] Add tests for or(shl(x,c1),lshr(y,c2)) patterns that co…
RKSimon Oct 3, 2020
66e493f
[asan] Stop instrumenting user-defined ELF sections
mgorny Oct 3, 2020
80b108f
[lldb] [Process/NetBSD] Fix reading FIP/FDP registers
mgorny Oct 1, 2020
9821632
[lldb] [Process/NetBSD] Fix crash on unsupported i386 regs
mgorny Oct 1, 2020
381bdc7
[lldb] [test/Register] Add read/write tests for x87 regs
mgorny Sep 30, 2020
fcb0ab5
[clang][NFC] Change a mention of `objc_static_protocol` to `non_runtime`
lanza Oct 3, 2020
ba60dc0
Revert "[Driver] Move detectLibcxxIncludePath to ToolChain"
nico Oct 3, 2020
3780a4e
[AArch64] Match the windows canonical callee saved register order
mstorsjo Sep 23, 2020
890af2f
[AArch64] Allow pairing lr with other GPRs for WinCFI
mstorsjo Sep 23, 2020
7d07405
[AArch64] Prefer prologues with sp adjustments merged into stp/ldp fo…
mstorsjo Sep 23, 2020
ef72591
[LV] Add another test case with unsinkable first-order recurrences.
fhahn Oct 3, 2020
1038ce4
[NFC][PhaseOrdering] Add a test showing new inttoptr casts after SROA…
LebedevRI Oct 3, 2020
cd20c26
[NFC][InstCombine] Autogenerate a few tests being affected by an upco…
LebedevRI Oct 3, 2020
82dcd38
[VPlan] Properly update users when updating operands.
fhahn Oct 3, 2020
508ac0e
[lldb] [test/Register] Mark new FP reg tests XFAIL on Windows
mgorny Oct 3, 2020
0a35232
[MC] Assert that MCRegUnitIterator operates over MCRegisters
mtrofin Oct 1, 2020
d20c602
[Object][MachO] Refactor MachOUniversalWriter
Oct 3, 2020
9b85152
Add indented raw_ostream class
jpienaar Oct 3, 2020
adccc0b
[X86] Add X86ISD opcodes for the Key Locker AESENC*KL and AESDEC*KL i…
topperc Oct 3, 2020
e9b87f4
[RFC] Factor out repetitive cmake patterns for llvm-style projects
stephenneuendorffer Aug 3, 2020
7f3da48
[X86] Remove X86ISD::MWAITX_DAG. Just match the intrinsic to the cust…
topperc Oct 4, 2020
39fc4a0
[X86] Move ENCODEKEY128/256 handling from lowering to selection.
topperc Oct 4, 2020
a7e45ea
[X86] Add memory operand to AESENC/AESDEC Key Locker instructions.
topperc Oct 4, 2020
ae2e515
[X86] LOADIWKEY, ENCODEKEY128 and ENCODEKEY256 clobber EFLAGS.
topperc Oct 4, 2020
0f08a1a
[lldb] [test/Register] Mark new FP reg tests XFAIL on Darwin
JDevlieghere Oct 4, 2020
51beb0c
[RISCV][ASAN] unwind fixup
spacemonkeydelivers Oct 4, 2020
03bd519
[OldPM] Pass manager: run SROA after (simple) loop unrolling
LebedevRI Oct 4, 2020
7ce4dfb
[RISCV][ASAN] support code for architecture-specific parts of asan
spacemonkeydelivers Oct 4, 2020
1113fbf
[CodeGen] Improve likelihood branch weights
mordante Oct 4, 2020
a566f05
[RISCV][ASAN] instrumentation pass now uses proper shadow offset
EccoTheDolphin Oct 4, 2020
e4e5c42
[X86][SSE] isTargetShuffleEquivalent - ensure shuffle inputs are the …
RKSimon Oct 4, 2020
2c48dd7
[MemCpyOpt] Add additional call slot tests (NFC)
nikic Oct 4, 2020
2ccbf3d
[SDAG] fold x * 0.0 at node creation time
rotateright Oct 4, 2020
e3475f5
[PowerPC] Add builtins for xvtdiv(dp|sp) and xvtsqrt(dp|sp).
Oct 4, 2020
aaae13d
[NFC][clang][codegen] Autogenerate a few ARM SVE tests that are being…
LebedevRI Oct 4, 2020
f5fe7ab
[VPlan] Account for removed users in replaceAllUsesWith.
fhahn Oct 3, 2020
357bbaa
[VPlan] Add VPRecipeBase::toVPUser helper (NFC).
fhahn Oct 2, 2020
6c6cd5f
[X86] Consolidate wide Key Locker intrinsics into the same header as …
topperc Oct 4, 2020
28595cb
[X86] Synchronize the loadiwkey builtin operand order with gcc version.
topperc Oct 4, 2020
230c57b
[X86] Synchronize the encodekey builtins with gcc. Don't assume void*…
topperc Oct 4, 2020
a02b449
[X86] Sync AESENC/DEC Key Locker builtins with gcc.
topperc Oct 4, 2020
955b926
[gn build] Port 6c6cd5f8a97
llvmgnsyncbot Oct 4, 2020
c36d441
[SDA] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off builds
MaskRay Oct 4, 2020
b4288f2
[X86] Remove an accidentally added file. NFC.
mstorsjo Oct 4, 2020
22664a3
[MemCpyOpt] Don't use array allocas in tests (NFC)
nikic Oct 4, 2020
f05173d
Implement callee/caller type checking for llvm.call
joker-eph Oct 3, 2020
8aaa731
[MemCpyOpt] Add tests for call slot optimization with GEPs (NFC)
nikic Oct 4, 2020
8036cf7
llvm-dwarfdump: Skip tombstoned address ranges
dwblaikie Oct 4, 2020
80ac6da
[NFC][SCEV] Add a test with some patterns where we could treat inttop…
LebedevRI Oct 4, 2020
37010d4
[Coroutines][NewPM] Fix coroutine tests under new pass manager
aeubanks Sep 14, 2020
b0dce6b
Revert "[RFC] Factor out repetitive cmake patterns for llvm-style pro…
stephenneuendorffer Oct 4, 2020
0db9723
[X86] Remove usesCustomInserter from MWAITX_SAVE_EBX and MWAITX_SAVE_…
topperc Oct 4, 2020
952dfd7
[X86] Correct the implicit defs/uses for the MWAITX pseudo instructions.
topperc Oct 4, 2020
1065f34
[DomTree] findNearestCommonDominator: assert the nodes are in tree
MaskRay Oct 4, 2020
ea83e0b
llvm-dwarfdump: Dump address forms in their encoded length rather tha…
dwblaikie Oct 4, 2020
83cc498
[NFCI] Remove unnecessary trailing undef in RuntimeLibcalls.def
Oct 3, 2020
2c94d88
[NewPM] collapsing nested pass mangers of the same type
Oct 3, 2020
628a319
llvm-dwarfdump: Print addresses in debug_line to the parsed address size
dwblaikie Oct 4, 2020
4b38ceb
[X86] Remove MWAITX_SAVE_EBX pseudo instruction. Always save/restore …
topperc Oct 4, 2020
92c45e4
llvm-dwarfdump: Add support for DW_RLE_startx_endx
dwblaikie Oct 5, 2020
64f7790
[HIP] Add option --gpu-instrument-lib=
yxsamliu Sep 30, 2020
fef0ebb
Revert "[HIP] Add option --gpu-instrument-lib="
yxsamliu Oct 5, 2020
9756a40
Recommit "[HIP] Add option --gpu-instrument-lib="
yxsamliu Oct 5, 2020
5b551b7
[HIP] Fix default output file for -E
yxsamliu Oct 2, 2020
e372c1d
[HIP] Fix -fgpu-allow-device-init option
yxsamliu Sep 30, 2020
dcd1f12
Merge from 'master' to 'sycl-web' (#4)
vmaksimo Oct 5, 2020
6af2069
Merge from 'sycl' to 'sycl-web' (#3)
Oct 5, 2020
4f39519
Merge from 'master' to 'sycl-web' (#100)
vmaksimo Oct 5, 2020
6e7c193
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Oct 5, 2020
86649a8
travis: report llvm revision for non-external builds
svenvh Sep 29, 2020
2cf914a
Handle @llvm.memset.* with non-constant arguments (#696)
AlexeySotkin Oct 1, 2020
b9df4ab
Allow to translate llvm.fabs with half arguments
Fznamznon Oct 1, 2020
ee7aded
Update dbg-declare-arg test after LLVM change
svenvh Oct 5, 2020
ff49e34
Fix translation of APInt constants
MrSidims Sep 23, 2020
225d801
Rename OCL20ToSPIRV pass
AlexeySachkov Oct 2, 2020
edb267a
Remove OCL21ToSPIRV pass
AlexeySachkov Oct 2, 2020
a329579
Apply clang-format to OCLToSPIRV.cpp
AlexeySachkov Oct 5, 2020
32999cb
Conditionalize translation of llvm.global_ctors/dtors
svenvh Sep 22, 2020
e8e4495
Set Initializer ExecutionMode for global ctors
svenvh Sep 22, 2020
b035640
Translate Initializer to llvm.global_ctors
svenvh Sep 23, 2020
2036e3c
Only emit Initializer and Finalizer from SPIR-V 1.1
svenvh Sep 28, 2020
36d3cc9
Fix emission of SPIR-V friendly IR for OpenCL EIS (#746)
AlexeySachkov Oct 6, 2020
1321600
[SYCL] Fix conflict resolution issue from cdabc426
vladimirlaz Oct 8, 2020
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
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,17 @@ namespace clang {
namespace tidy {
namespace android {

namespace {
AST_MATCHER(BinaryOperator, isRHSATempFailureRetryArg) {
if (!Node.getBeginLoc().isMacroID())
return false;

const SourceManager &SM = Finder->getASTContext().getSourceManager();
if (!SM.isMacroArgExpansion(Node.getRHS()->IgnoreParenCasts()->getBeginLoc()))
return false;

const LangOptions &Opts = Finder->getASTContext().getLangOpts();
SourceLocation LocStart = Node.getBeginLoc();
while (LocStart.isMacroID()) {
SourceLocation Invocation = SM.getImmediateMacroCallerLoc(LocStart);
Token Tok;
if (!Lexer::getRawToken(SM.getSpellingLoc(Invocation), Tok, SM, Opts,
/*IgnoreWhiteSpace=*/true)) {
if (Tok.getKind() == tok::raw_identifier &&
Tok.getRawIdentifier() == "TEMP_FAILURE_RETRY")
return true;
}
ComparisonInTempFailureRetryCheck::ComparisonInTempFailureRetryCheck(
StringRef Name, ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
RawRetryList(Options.get("RetryMacros", "TEMP_FAILURE_RETRY")) {
StringRef(RawRetryList).split(RetryMacros, ",", -1, false);
}

LocStart = Invocation;
}
return false;
void ComparisonInTempFailureRetryCheck::storeOptions(
ClangTidyOptions::OptionMap &Opts) {
Options.store(Opts, "RetryMacros", RawRetryList);
}
} // namespace

void ComparisonInTempFailureRetryCheck::registerMatchers(MatchFinder *Finder) {
// Both glibc's and Bionic's TEMP_FAILURE_RETRY macros structurally look like:
Expand All @@ -63,15 +48,43 @@ void ComparisonInTempFailureRetryCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
binaryOperator(hasOperatorName("="),
hasRHS(ignoringParenCasts(
binaryOperator(isComparisonOperator()).bind("binop"))),
isRHSATempFailureRetryArg()),
binaryOperator(isComparisonOperator()).bind("inner"))))
.bind("outer"),
this);
}

void ComparisonInTempFailureRetryCheck::check(
const MatchFinder::MatchResult &Result) {
const auto &BinOp = *Result.Nodes.getNodeAs<BinaryOperator>("binop");
diag(BinOp.getOperatorLoc(), "top-level comparison in TEMP_FAILURE_RETRY");
StringRef RetryMacroName;
const auto &Node = *Result.Nodes.getNodeAs<BinaryOperator>("outer");
if (!Node.getBeginLoc().isMacroID())
return;

const SourceManager &SM = *Result.SourceManager;
if (!SM.isMacroArgExpansion(Node.getRHS()->IgnoreParenCasts()->getBeginLoc()))
return;

const LangOptions &Opts = Result.Context->getLangOpts();
SourceLocation LocStart = Node.getBeginLoc();
while (LocStart.isMacroID()) {
SourceLocation Invocation = SM.getImmediateMacroCallerLoc(LocStart);
Token Tok;
if (!Lexer::getRawToken(SM.getSpellingLoc(Invocation), Tok, SM, Opts,
/*IgnoreWhiteSpace=*/true)) {
if (Tok.getKind() == tok::raw_identifier &&
llvm::is_contained(RetryMacros, Tok.getRawIdentifier())) {
RetryMacroName = Tok.getRawIdentifier();
break;
}
}

LocStart = Invocation;
}
if (RetryMacroName.empty())
return;

const auto &Inner = *Result.Nodes.getNodeAs<BinaryOperator>("inner");
diag(Inner.getOperatorLoc(), "top-level comparison in %0") << RetryMacroName;

// FIXME: FixIts would be nice, but potentially nontrivial when nested macros
// happen, e.g. `TEMP_FAILURE_RETRY(IS_ZERO(foo()))`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ANDROID_COMPARISONINTEMPFAILURERETRYCHECK_H

#include "../ClangTidyCheck.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include <string>

namespace clang {
namespace tidy {
Expand All @@ -22,10 +25,14 @@ namespace android {
/// TEMP_FAILURE_RETRY is a macro provided by both glibc and Bionic.
class ComparisonInTempFailureRetryCheck : public ClangTidyCheck {
public:
ComparisonInTempFailureRetryCheck(StringRef Name, ClangTidyContext *Context)
: ClangTidyCheck(Name, Context) {}
ComparisonInTempFailureRetryCheck(StringRef Name, ClangTidyContext *Context);
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;

private:
const std::string RawRetryList;
SmallVector<StringRef, 5> RetryMacros;
};

} // namespace android
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ struct UnqualNameVisitor : public RecursiveASTVisitor<UnqualNameVisitor> {
->getName()))
return false;
break;
case TypeLoc::Typedef:
if (VisitUnqualName(
TL.getAs<TypedefTypeLoc>().getTypePtr()->getDecl()->getName()))
return false;
break;
default:
break;
}
Expand Down
1 change: 1 addition & 0 deletions clang-tools-extra/clang-tidy/readability/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ add_clang_library(clangTidyReadabilityModule
DeleteNullPointerCheck.cpp
DeletedDefaultCheck.cpp
ElseAfterReturnCheck.cpp
FunctionCognitiveComplexityCheck.cpp
FunctionSizeCheck.cpp
IdentifierNamingCheck.cpp
ImplicitBoolConversionCheck.cpp
Expand Down
Loading