Skip to content

[WIP][SYCL] Add support for union types kernel arguments #2206

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

Closed
wants to merge 1,036 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1036 commits
Select commit Hold shift + click to select a range
731292e
Updated the -I option description.
andreil99 Jul 31, 2020
77a0252
[InstSimplify] add tests for abs intrinsic; NFC
rotateright Jul 31, 2020
f2400f0
[OpenMP] Fixed the issue that target memory deallocation might be cal…
shiltian Jul 31, 2020
86dea1f
[ValueTracking] Improve llvm.abs handling in computeKnownBits.
topperc Jul 31, 2020
47a4a27
Upgrade MC to v0.9.
Hsiangkai May 21, 2020
721d93f
Support experimental v extension v0.9.
Hsiangkai Jun 4, 2020
ff756f5
[compiler-rt][Darwin] Fix linker errors for check-asan
Jul 31, 2020
5954755
[libc] [obvious] Fix strchr and strrchr tests so that constness is
cgyurgyik Jul 31, 2020
1b35c4f
[libc] [obvious] In strrchr, remove cast to unsigned char before
cgyurgyik Aug 1, 2020
93c678a
[X86] Simplify vpternlog immediate selection.
topperc Aug 1, 2020
234f51a
Don't crash if we deserialize a pack expansion type whose pattern
zygoloid Aug 1, 2020
01bfe2e
[AArch64][SVE] Allow vector of pointers as legal type for masked load…
huihzhang Aug 1, 2020
1fd2049
[clang-tidy][NFC] Added convienence methods for getting optional options
njames93 Aug 1, 2020
605fd4d
[VE] Change calling convention to follow ABI
kaz7 Jul 11, 2020
914dbf4
PowerPC: Fix SPE extloadf32 handling.
Apr 16, 2020
7e9153e
PowerPC: Don't lower SELECT_CC to PPCISD::FSEL on SPE
Apr 9, 2020
1bd7046
[X86] Use TargetLowering::getRegClassFor to simplify some code in try…
topperc Aug 1, 2020
8c5edf5
[SCEV] don't query getSCEV() for incomplete phis
Aug 1, 2020
75f134e
[X86] Refactor the broadcast and load folding in tryVPTESTM to reduce…
topperc Aug 1, 2020
4888c9c
[clang-tidy] readability-identifier-naming checks configs for include…
njames93 Aug 1, 2020
e73f5d8
[MachineVerifier] Refactor calcRegsPassed. NFC
eleviant Aug 1, 2020
9f21947
[clang-tidy][NFC] Small refactor
njames93 Aug 1, 2020
1b19015
[X86][AVX] Extend v2f64 BROADCAST(LOAD) -> BROADCAST_LOAD to v2i64/v4…
RKSimon Aug 1, 2020
1aa52d6
[InstSimplify] add abs test with assume; NFC
rotateright Aug 1, 2020
04b99a4
[InstSimplify] simplify abs if operand is known non-negative
rotateright Aug 1, 2020
eb41f9e
[mlir][Vector] Simplify code a bit. NFCI.
d0k Aug 1, 2020
fd69df6
[ARM] Distribute post-inc for Thumb2 sign/zero extending loads/stores
davemgreen Aug 1, 2020
fa30ade
[Attributor][NFC] Update description for the dependency graph
hellobbn Aug 1, 2020
d620a6f
[VectorCombine] add tests for non-zero gep offsets; NFC
rotateright Aug 1, 2020
a9b06a2
[LCSSA] Use IRBuilder for PHI creation.
fhahn Aug 1, 2020
bb13c34
[X86][AVX] Ensure we only combine to PSHUFLW/PSHUFHW on supporting ta…
RKSimon Aug 1, 2020
8697d6c
[libcxx] Add compatible with constraint tests for some shared_ptr con…
zoecarver Aug 1, 2020
82a5c84
[X86][AVX512] Fold concat(and(x,y),and(z,w)) -> and(concat(x,z),conca…
RKSimon Aug 1, 2020
05b44f7
[LCSSA] Provide option for caller to clean up unused PHIs.
fhahn Aug 1, 2020
95ddb9f
[PPC] Adjust run line for hardware-loops-crash.ll
fhahn Aug 1, 2020
4a19e61
[InstCombine] Fold abs(-x) -> abs(x)
topperc Aug 1, 2020
85b5315
[InstSimplify] Fold abs(abs(x)) -> abs(x)
topperc Aug 1, 2020
e297d92
[X86] Add assembler support for {disp8} and {disp32} to control the s…
topperc Aug 1, 2020
25af353
[NewPM][LVI] Abandon LVI after CVP
nikic Jul 30, 2020
8dd4e3c
Updated the -I option description.
andreil99 Aug 1, 2020
dc3388b
[msan] Respect no_huge_pages_for_shadow.
eugenis Aug 1, 2020
e281376
[ELF] --wrap: set isUsedInRegularObj of __wrap_ only if it is defined
MaskRay Aug 2, 2020
e12a028
[llvm-jitlink] Support promotion of ODR weak symbols in -harness mode.
lhames Aug 1, 2020
0f5b707
[llvm-jitlink] Add -phony-externals option to suppress unresolved ext…
lhames Aug 2, 2020
6043498
Use llvm::is_contained where appropriate (NFC)
kazutakahirata Aug 2, 2020
2079798
Outline non returning functions unless a longjmp
hiraditya Aug 2, 2020
aa1f905
[HotColdSplit] Add test case for unlikely attribute in outlined function
hiraditya Aug 2, 2020
f89d59a
[X86] Add parity test cases for PR46954.
topperc Aug 2, 2020
56166a3
[X86] Improve parity idiom recognition to handle (and (truncate (ctpo…
topperc Aug 2, 2020
21c165d
[CMake] Pass bugreport URL to standalone clang build
mgorny Jul 30, 2020
ffb4735
[SCEV] Precommit tests with signed counting down loop.
fhahn Jul 31, 2020
d3f01b6
[Attributor] AAPotentialValues Interface
okuraofvegetable Aug 2, 2020
2700311
[X86] combineX86ShuffleChain - pull out repeated RootVT.getSizeInBits…
RKSimon Aug 2, 2020
3f27684
[X86] Use const APInt& in for-range loop to avoid unnecessary copies.…
RKSimon Aug 2, 2020
d7e2616
[X86] Pass SDLoc by const reference. NFCI.
RKSimon Aug 2, 2020
20fbbbc
[X86] Use const APInt& in for-range loop to avoid unnecessary copies.…
RKSimon Aug 2, 2020
8d1b950
[DWARFYAML][debug_aranges] Make the 'Descriptors' field optional.
higuoxing Aug 2, 2020
a0addbb
[InstSimplify] Reduce code duplication in icmp of binop folds (NFC)
nikic Aug 2, 2020
376b649
Revert "[Attributor] AAPotentialValues Interface"
okuraofvegetable Aug 2, 2020
90dab1a
Remove unused param tag to fix Wdocumentation warning. NFC.
RKSimon Aug 2, 2020
d14a22d
[DAG] TargetLowering::LowerAsmOutputForConstraint - pass SDLoc as const&
RKSimon Aug 2, 2020
b8ffbf0
[DAG] TargetLowering::expandMUL_LOHI - pass SDLoc as const&
RKSimon Aug 2, 2020
7dd4f03
Use merge null and isa<> tests into isa_and_nonnull<>. NFCI.
RKSimon Aug 2, 2020
00d0f35
X86InstrInfo.cpp - fix include ordering. NFCI.
RKSimon Aug 2, 2020
212570a
GlobalISel: Implement bitcast action for G_EXTRACT_VECTOR_ELEMENT
arsenm Jun 15, 2020
e379875
[InstSimplify] add tests for max(max x,y), x) and variants; NFC
rotateright Aug 2, 2020
4abc69c
[InstSimplify] fold max (max X, Y), X --> max X, Y
rotateright Aug 2, 2020
e202236
[IR] Add IRBuilderBase::CreateVectorSplat(ElementCount EC) variant
RKSimon Aug 2, 2020
4091413
Remove debug flags from test (NFC)
joker-eph Aug 2, 2020
e7a8ee0
[AMDGPU] Regenerate tests to fix whitespace indentations
RKSimon Aug 2, 2020
a258338
[X86] Add test cases for missed opportunity to use a byte test instru…
topperc Aug 2, 2020
64516ec
[X86] Use parity flag from byte test/cmp instruction for __builtin_pa…
topperc Aug 2, 2020
e6c2c9a
[lldb] [test] Fix DW_TAG_GNU_call_site-DW_AT_low_pc.s relocation
jankratochvil Aug 2, 2020
00a0282
[Clang] Remove run-lines which use opt to run -ipconstprop.
fhahn Aug 2, 2020
08cf496
[StackSafety, NFC] Don't insert empty objects into the map
vitalybuka Aug 2, 2020
599955e
Recommit "[IPConstProp] Remove and move tests to SCCP."
fhahn Aug 2, 2020
4ffa6a2
[Bindings] Remove ipc_propagation.
fhahn Aug 2, 2020
b497665
Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on RE…
MaskRay Aug 3, 2020
a96921a
[RISCV] eliminate the repetition declare of SDLoc DL
luxufan Jul 31, 2020
62e4644
[NFC][PowerPC] Add a multiclass for fsetcc to define them in a unifor…
Aug 3, 2020
594dec2
[FLANG] Fix issues in SELECT TYPE construct when intrinsic type speci…
compinder Aug 3, 2020
40da58a
[MC] Default MCAsmBackend::mayNeedRelaxation() to false
MaskRay Aug 3, 2020
160ff83
[OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - …
saiislam Aug 3, 2020
5a4cd55
[gn build] Port 160ff83765a
llvmgnsyncbot Aug 3, 2020
c41a18c
[CMake] Default ENABLE_X86_RELAX_RELOCATIONS to ON
MaskRay Aug 3, 2020
91f6a5f
[MLIR][SPIRV] Control attributes support for loop and selection
georgemitenkov Aug 3, 2020
4fdc4d8
[NFC] [MIR] Document the reg state flags
Aug 3, 2020
9c3f6fb
[libunwind] Make the test depend on the libunwind explicitly.
DanielKristofKiss Aug 3, 2020
4e10a18
[DebugInfo] Make DIELocList::SizeOf() more explicit. NFCI.
igorkudrin Aug 3, 2020
8feff8d
[DebugInfo] Fix a comment and a variable name. NFC.
igorkudrin Aug 3, 2020
f98e03a
[DebugInfo] Fix misleading using of DWARF forms with DIELabel. NFCI.
igorkudrin Aug 3, 2020
414b9be
[DebugInfo] Make DIEDelta::SizeOf() more explicit. NFCI.
igorkudrin Aug 3, 2020
434cf2d
[Attributor] Check nonnull attribute violation in AAUndefinedBehavior
okuraofvegetable Aug 3, 2020
ef005f2
[MachOYAML] Remove redundant variable initialization. NFC.
higuoxing Aug 3, 2020
11492be
[MLIR][Shape] Lower `shape.broadcast` to `scf`
frgossen Aug 3, 2020
8aeb212
[debugserver] Fix that is_dot_app is producing unused warnings
Teemperor Aug 3, 2020
35b65be
[mlir][Vector] Add transformation + pattern to split vector.transfer_…
Aug 3, 2020
98db277
[LV] Do not check widening decision for instrs outside of loop.
fhahn Aug 3, 2020
18d4069
fix lldb test on lib64 systems
llunak Aug 2, 2020
6d47431
[mlir] Extended Buffer Assignment to support AllocaOps.
dfki-jugr Jul 31, 2020
d919ae9
[yaml2obj] - Add a support for "<none>" value for all optional fields.
Jul 23, 2020
d76057c
Add document outline symbols from unnamed contexts, e.g. extern "C".
ilya-golovenko Aug 3, 2020
7e32797
[llvm-readobj] - Don't call `unwrapOrErr` in `findSectionByName`.
Jul 27, 2020
87de54d
[clang][Tooling] Fix addTargetAndModeForProgramName to use correct fl…
kadircet Aug 1, 2020
895878f
[asan][tsan] Mark tests failing with debug checks as XFAIL
arichardson Aug 3, 2020
03affa8
[msan] Compile the libatomic.c test with a C compiler
arichardson Aug 3, 2020
d23b15c
Execute llvm-lit with the python found by CMake by default
arichardson Aug 3, 2020
c3339e3
[cmake] Make MSVC generate appropriate __cplusplus macro definition
tkrasnukha Jul 17, 2020
e97c693
[lldb/Process/Windows] Attempting to kill exited/detached process in …
tkrasnukha Jul 30, 2020
d100747
Fix update_cc_test_checks.py --llvm-bin after D78478
arichardson Aug 3, 2020
2bca784
[llvm-readobj] - Massive test cases cleanup.
Jul 30, 2020
3de9323
[llvm-readobj] - Don't stop dumping when the name of a relocation sec…
Jul 23, 2020
76c3ec8
[clang][Tooling] Optimize addTargetAndMode in case of invalid modes
kadircet Aug 1, 2020
86e1b73
[analyzer] Simplify function SVal::getAsSymbolicExpression and simila…
ASDenysPetrov Jul 31, 2020
21fa82d
[analyzer] Introduce minor refactoring of SVal::getSubKind function
ASDenysPetrov Jul 31, 2020
5191f70
[clangd] Support new/deleta operator in TargetFinder.
hokein Jul 25, 2020
18279a5
[ARM] Fix IT block generation after Thumb2SizeReduce with -Oz
NickGuy-Arm Jul 1, 2020
ed0e4c7
[clang][ARM] Add name-mangling test for direct __fp16 arguments.
statham-arm Aug 3, 2020
b57ea8e
[InstCombine] add tests for xor-of-ors; NFC
rotateright Aug 2, 2020
2265d01
[InstCombine] reduce xor-of-or's bitwise logic (PR46955)
rotateright Aug 3, 2020
d8ef1d1
AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext
arsenm Jul 23, 2020
99a971c
[X86][SSE] Start shuffle combining from ANY_EXTEND_VECTOR_INREG on SS…
RKSimon Aug 3, 2020
fd63e46
AMDGPU/GlobalISel: Apply load bitcast to s.buffer.load intrinsic
arsenm Jun 16, 2020
f19a9be
Revert "[InstCombine] reduce xor-of-or's bitwise logic (PR46955)"
rotateright Aug 3, 2020
1782fbb
GlobalISel: Reimplement moreElementsVectorDst
arsenm Feb 2, 2020
2414bab
AMDGPU/GlobalISel: Remove old hacks for boolean selection
arsenm Jul 26, 2020
42a9f6c
GlobalISel: Handle arbitrary FewerElementsVector for G_IMPLICIT_DEF
arsenm Jul 28, 2020
0c40af6
[mlir] First-party modeling of LLVM types
ftynse Jul 29, 2020
2d8ca4a
[DWARFYAML] Offsets should be omitted when the OffsetEntryCount is 0.
higuoxing Aug 3, 2020
23693ff
[InstCombine] reduce xor-of-or's bitwise logic (PR46955); 2nd try
rotateright Aug 3, 2020
1c2777f
[NFC][APInt][DenseMapInfo] Move DenseMapAPIntKeyInfo into DenseMap.h …
okuraofvegetable Aug 3, 2020
08649d4
[DWARFYAML] Implement the .debug_loclists section.
higuoxing Aug 3, 2020
10851f9
[analyzer][tests] Fix SATest update functionality
SavchenkoValeriy Jul 22, 2020
31c7a2f
[FPEnv] Don't transform FSUB(-0,X)->FNEG(X) in SelectionDAGBuilder.
Aug 3, 2020
7ba82a7
Revert "[mlir][Vector] Add transformation + pattern to split vector.t…
joker-eph Aug 3, 2020
ee1c127
[SCEV] If Start>=RHS, simplify (Start smin RHS) = RHS for trip counts.
fhahn Aug 3, 2020
3ebd1ba
[MSAN] Instrument freeze instruction by clearing shadow
archshift Jul 31, 2020
caf002c
[Utils] Add noundef attribute to vim/emacs/vscode syntax scripts
archshift Aug 3, 2020
4b1b109
[llvm] Add a parser from JSON to TensorSpec
mtrofin Jul 30, 2020
d313e9c
[mlir][Vector] Add transformation + pattern to split vector.transfer_…
Aug 3, 2020
e888886
[mlir][DialectConversion] Add support for mergeBlocks in ConversionPa…
Aug 3, 2020
32f3a9a
[mlir][DialectConversion] Remove usage of std::distance to track posi…
Aug 3, 2020
ac82b91
[X86] Use h-register for final XOR of __builtin_parity on 64-bit targ…
topperc Aug 3, 2020
317e00d
[PGO] Change a `NumVSites == 0` workaround to assert
MaskRay Aug 3, 2020
d535a91
[FPEnv] IRBuilder fails to add strictfp attribute
kpneal Jul 29, 2020
7c19c89
[NewPM][LoopVersioning] Port LoopVersioning to NPM
aeubanks Aug 1, 2020
219f32f
[X86][SSE] Shuffle combine blends to OR(X,Y) if the relevant elements…
RKSimon Aug 3, 2020
f208c65
[X86] Make ENDBR instruction a scheduling boundary
Aug 3, 2020
39494d9
[compiler-rt][profile] Fix various InstrProf tests on Solaris
rorth Aug 3, 2020
f78f509
[PGO] Extend the value profile buckets for mem op sizes.
hjyamauchi Aug 3, 2020
c12bd8d
[gn build] Port f78f509c758
llvmgnsyncbot Aug 3, 2020
1e392fc
[ArgPromotion] Replace all md uses of promoted values with undef.
fhahn Aug 3, 2020
c6334db
[X86] support .nops directive
jcai19 Jul 31, 2020
456f38a
Fix layering violation Transforms/Utils -> Scalar
aeubanks Aug 3, 2020
7efd9ce
[InstSimplify] add tests for min-of-max variants; NFC
rotateright Aug 3, 2020
9e5cf6b
[InstSimplify] fold variations of max-of-min with common operand
rotateright Aug 3, 2020
0d454e8
[flang] Fix bug detecting intrinsic function
tskeith Aug 3, 2020
3e89cbf
[PGO] Enable the extended value profile buckets for mem op sizes.
hjyamauchi Aug 3, 2020
777824b
[llvm-jitlink] Add support for static archives and MachO universal ar…
lhames Aug 3, 2020
dca23ed
[AArch64] Add missing isel patterns for fcvtzs/u intrinsic on v1f64.
efriedma-quic Aug 3, 2020
7f1556f
Fix typo: s/epomymous/eponymous/ NFC
jroelofs Aug 3, 2020
7209f83
Allow .dSYM's to be directly placed in an alternate directory
dsandersllvm Aug 3, 2020
41b1e97
[CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as
ahatanaka Aug 3, 2020
11bb7c2
[MC] Set sh_link to 0 if the associated symbol is undefined
MaskRay Aug 3, 2020
21de4e7
[ARM] Test for converting VPSEL to VMOVT. NFC
davemgreen Aug 3, 2020
66e7dce
Revert "[X86][SSE] Shuffle combine blends to OR(X,Y) if the relevant …
hctim Aug 3, 2020
cb32792
[WebAssembly] Implement prototype v128.load{32,64}_zero instructions
tlively Aug 3, 2020
2291648
[ARM] Convert VPSEL to VMOV in tail predicated loops
davemgreen Aug 3, 2020
9a05fa1
[HWASan] [GlobalISel] Add +tagged-globals backend feature for GlobalISel
hctim Aug 3, 2020
8c39e70
[mlir][OpFormatGen] Add support for eliding UnitAttr when used to anc…
River707 Aug 3, 2020
1ce8201
[MemorySSA] Restrict optimizations after a PhiTranslation.
alinas Jun 25, 2020
089adc3
[flang] Make preprocessing behavior tests runnable as regression tests
klausler Aug 3, 2020
7cf4603
Reland D61689 Change -gz and -Wa,--compress-debug-sections to use gAB…
MaskRay Aug 3, 2020
b43791e
[SVE] Remove bad calls to VectorType::getNumElements() from PowerPC
christetreault-llvm Aug 3, 2020
af3ec73
[NFC][ARM] Silence unused variable in release builds
rupprecht Aug 3, 2020
1d77906
[UBSan] Increase robustness of tests
Aug 3, 2020
b5059b7
[SVE] Remove bad call to VectorType::getNumElements() from ARM
christetreault-llvm Aug 3, 2020
3b92db4
[SVE] Remove bad call to VectorType::getNumElements() from AMDGPU
christetreault-llvm Aug 3, 2020
045e79e
[VE] Extend integer arguments and return values smaller than 64 bits
kaz7 Jul 25, 2020
509f5c4
[MC] Fix memory leak when allocating MCInst with bump allocator
Jul 29, 2020
7c5630f
[flang] Handle spaces (more) correctly in REAL input
klausler Aug 3, 2020
49bbb8b
Remove unneeded RoundDefault enumerator, and fix spelling in comments
klausler Aug 3, 2020
3b44b6c
[clang-tidy][NFC] Use correct size call for reserve
njames93 Aug 3, 2020
adb5c23
[test] Exit with an error if no tests are run.
rupprecht Aug 3, 2020
c9e6887
[SVE] Remove bad calls to VectorType::getNumElements() from X86
christetreault-llvm Aug 3, 2020
d8334c4
[flang] Acquire file accessibility, size, positioning
klausler Aug 3, 2020
d879ac8
[flang] Defer "next input record" processing until handlers established
klausler Aug 3, 2020
1beb00d
Fix use-after-scope in 7209f83112db caught by the sanitizer bots
dsandersllvm Aug 3, 2020
81eeabb
[ELF] Add --dependency-file option
petrhosek Jun 24, 2020
0c938a8
OpenMP: Fix typo variabls -> variables
dwblaikie Aug 3, 2020
ffe0066
[Attributor][NFC] Clang format
okuraofvegetable Aug 3, 2020
675ad1b
[flang] Implement runtime support for INQUIRE statements
klausler Aug 3, 2020
ba95539
[SCEVExpander][PowerPC]clear scev rewriter before deleting instructions.
Aug 3, 2020
a06c28d
Temporarily revert "[test] Exit with an error if no tests are run."
rupprecht Aug 4, 2020
d6a5cce
[lldb/Test] Fix skipTestIfFn for fucntions that return a value
JDevlieghere Aug 4, 2020
7647c27
[SimpleLoopUnswitch][NFC] Add option to always drop make.implicit met…
xortator Aug 4, 2020
e56626e
[PGO] Move __profc_ and __profvp_ from their own comdat groups to __p…
MaskRay Aug 4, 2020
bcea3a7
Add test utility 'split-file'
MaskRay Aug 3, 2020
5789993
[AMDGPU] Make GCNRegBankReassign assign based on subreg banks
perlfu Aug 4, 2020
45c46d1
[PowerPC] mark r+i as legal address mode for vector type after pwr9
Aug 4, 2020
6bc7ea2
[X86][AVX512] Fix build fail after D81548
phoebewang Aug 4, 2020
b959906
[PGO] Use multiple comdat groups for COFF
MaskRay Aug 4, 2020
25abd19
[YAMLParser] Fix a typo: iff -> if. NFC.
higuoxing Aug 4, 2020
79f7cfb
Update Patch and add tests based on review comments
smanna12 Aug 4, 2020
4d50436
Fix clang-format issues
smanna12 Aug 4, 2020
503182a
Fix clang-format issues
smanna12 Aug 4, 2020
5313ca2
Fix clang-format issues
smanna12 Aug 4, 2020
f6f1d7c
Fix clang-format issues
smanna12 Aug 4, 2020
6fb50b4
Fix clang-format issues
smanna12 Aug 4, 2020
4ede396
[clang] Include trailing-requires-clause in FunctionDecl's source range
HighCommander4 Aug 3, 2020
6890969
[mlir][Linalg] Conv ops lowering to std calls added.
limo1996 Aug 3, 2020
6f97103
[JumpThreading] Don't limit the type of an operand
aqjune Jul 30, 2020
6a78a8d
[NFC] [PowerPC] Refactor fp/int conversion lowering
ecnelises Aug 4, 2020
1ea8465
[JumpThreading] Merge/rename thread-two-bbsN.ll tests; NFC
aqjune Aug 4, 2020
8f576a7
[llvm-readobj] - Simplify findSectionByName(). NFCI.
Aug 3, 2020
7c4782c
[clang-tidy] Fix regression in RenamerClangTidy
njames93 Aug 4, 2020
4bfbf74
[MLIR] Add an integration test for 2 D vector.transfer_read
Aug 4, 2020
5d597e2
[DebugInfo][unittest] Use YAML to generate the .debug_loclists section.
higuoxing Aug 4, 2020
9486201
[llvm-readobj/readelf] - Refine the implementation of printMipsOption…
Jul 29, 2020
d9d2210
[llvm-readobj] - An attempt to fix BB.
Aug 4, 2020
141cb8a
[analyzer] Model iterator random incrementation symmetrically
Jul 21, 2020
bb303a1
[llvm-readobj] - A second attempt to fix BB.
Aug 4, 2020
0acef82
[X86][AVX] Add v8f32 'reverse' HADD(SHUFFLE,SHUFFLE) test coverage
RKSimon Aug 4, 2020
4f5ccc7
Partially revert "[cmake] Make MSVC generate appropriate __cplusplus …
tkrasnukha Aug 3, 2020
b7856f9
[SCEV] Consolidate some smin/smax folding tests into single test file.
fhahn Aug 4, 2020
f765824
[AArch64] Consider instruction-level contract FMFs in combiner patterns.
fhahn Aug 4, 2020
47cea9e
Revert rG66e7dce714fab "Revert "[X86][SSE] Shuffle combine blends to …
RKSimon Aug 4, 2020
20283ff
[ARM] Generated SSAT and USAT instructions with shift
MeeraN7 Aug 4, 2020
3c7e7d4
[BasicAA] Enable -basic-aa-recphi by default
davemgreen Aug 4, 2020
4e42438
[llvm-readobj] - A third attempt to fix BB.
Aug 4, 2020
daa1c6d
[lldb] fix typo
llunak Aug 4, 2020
e218da7
[JumpThreading] Add a test for simplification of cast of any op; NFC
aqjune Aug 4, 2020
e734e82
[JumpThreading] Remove cast's constraint
aqjune Aug 4, 2020
4be13b1
[SVE] Replace remaining _MERGE_OP1 nodes with _PRED variants.
paulwalker-arm Aug 4, 2020
79b44a4
[YAMLTraits] Fix mapping <none> value that followed by comments.
higuoxing Aug 4, 2020
fd6584a
[AArch64][SVE] Fix CFA calculation in presence of SVE objects.
sdesmalen-arm Aug 4, 2020
bb3344c
[AArch64][SVE] Add missing unwind info for SVE registers.
sdesmalen-arm Aug 4, 2020
998c0ef
[JumpThreading] Update test freeze.ll; NFC
aqjune Aug 4, 2020
f003b28
[MLIR][SPIRVToLLVM] Indentation and style fix in tests
georgemitenkov Aug 4, 2020
8979a9c
[mlir] Fix adding wrong operand value in `promoteMemRefDescriptors`.
pifon2a Aug 4, 2020
d4fbbab
[mlir] translate types between MLIR LLVM dialect and LLVM IR
ftynse Aug 4, 2020
6abd7e2
[mlir] provide same APIs as existing LLVMType in the new LLVM type mo…
ftynse Aug 4, 2020
20c71e5
[InstSimplify] reduce code for min/max analysis; NFC
rotateright Aug 3, 2020
011e15b
[InstSimplify] add tests for min/max with constants; NFC
rotateright Aug 3, 2020
ec1f4e7
[mlir] switch the modeling of LLVM types to use the new mechanism
ftynse Aug 4, 2020
cb9f9df
[mlir] Fix GCC5 compilation problem in MLIR->LLVM type translation
ftynse Aug 4, 2020
04e45ae
[InstSimplify] fold nested min/max intrinsics with constant operands
rotateright Aug 4, 2020
1a4263d
[mlir][Vector] Add linalg.copy-based pattern for splitting vector.tra…
Aug 3, 2020
586f020
Fix test failure
smanna12 Aug 4, 2020
7119ff7
Resolve comflicts
smanna12 Aug 4, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 9 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@ b9c1b51e45b845debb76d8658edabca70ca56079

# r302496: That is the revert of r302421
ff63090b0e1072bd398b8efef8ae2291613a6ec9

# Fix more line endings changed in r320089. NFC.
d8f0e6caa91e230a486c948ab643174e40bdf215

# Correct line endings that got mixed up in r320089; NFC.
29dc5ded45447915d96ef7ca3f02acf2232282e0

# Remove line-endings added by r320089. NFC.
100a0eedc00b2bf48bcdc6c209c000745a4a0e48
11 changes: 5 additions & 6 deletions clang-tools-extra/clang-tidy/ClangTidy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,12 +329,11 @@ static void setStaticAnalyzerCheckerOpts(const ClangTidyOptions &Opts,
AnalyzerOptionsRef AnalyzerOptions) {
StringRef AnalyzerPrefix(AnalyzerCheckNamePrefix);
for (const auto &Opt : Opts.CheckOptions) {
StringRef OptName(Opt.first);
if (!OptName.startswith(AnalyzerPrefix))
StringRef OptName(Opt.getKey());
if (!OptName.consume_front(AnalyzerPrefix))
continue;
// Analyzer options are always local options so we can ignore priority.
AnalyzerOptions->Config[OptName.substr(AnalyzerPrefix.size())] =
Opt.second.Value;
AnalyzerOptions->Config[OptName] = Opt.getValue().Value;
}
}

Expand Down Expand Up @@ -450,8 +449,8 @@ ClangTidyASTConsumerFactory::CreateASTConsumer(
std::vector<std::string> ClangTidyASTConsumerFactory::getCheckNames() {
std::vector<std::string> CheckNames;
for (const auto &CheckFactory : *CheckFactories) {
if (Context.isCheckEnabled(CheckFactory.first))
CheckNames.push_back(CheckFactory.first);
if (Context.isCheckEnabled(CheckFactory.getKey()))
CheckNames.emplace_back(CheckFactory.getKey());
}

#if CLANG_ENABLE_STATIC_ANALYZER
Expand Down
62 changes: 41 additions & 21 deletions clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/WithColor.h"
#include "llvm/Support/raw_ostream.h"

namespace clang {
Expand Down Expand Up @@ -72,7 +73,7 @@ llvm::Expected<std::string>
ClangTidyCheck::OptionsView::get(StringRef LocalName) const {
const auto &Iter = CheckOptions.find(NamePrefix + LocalName.str());
if (Iter != CheckOptions.end())
return Iter->second.Value;
return Iter->getValue().Value;
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
}

Expand All @@ -85,7 +86,7 @@ findPriorityOption(const ClangTidyOptions::OptionMap &Options, StringRef NamePre
return IterGlobal;
if (IterGlobal == Options.end())
return IterLocal;
if (IterLocal->second.Priority >= IterGlobal->second.Priority)
if (IterLocal->getValue().Priority >= IterGlobal->getValue().Priority)
return IterLocal;
return IterGlobal;
}
Expand All @@ -94,7 +95,7 @@ llvm::Expected<std::string>
ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName) const {
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
if (Iter != CheckOptions.end())
return Iter->second.Value;
return Iter->getValue().Value;
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
}

Expand Down Expand Up @@ -126,7 +127,7 @@ bool ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName,
llvm::Expected<bool> ValueOr = get<bool>(LocalName);
if (ValueOr)
return *ValueOr;
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -135,7 +136,7 @@ llvm::Expected<bool>
ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName) const {
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
if (Iter != CheckOptions.end())
return getAsBool(Iter->second.Value, Iter->first);
return getAsBool(Iter->getValue().Value, Iter->getKey());
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
}

Expand All @@ -145,7 +146,7 @@ bool ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName,
llvm::Expected<bool> ValueOr = getLocalOrGlobal<bool>(LocalName);
if (ValueOr)
return *ValueOr;
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -168,17 +169,16 @@ void ClangTidyCheck::OptionsView::store<bool>(
store(Options, LocalName, Value ? StringRef("true") : StringRef("false"));
}

llvm::Expected<int64_t>
ClangTidyCheck::OptionsView::getEnumInt(StringRef LocalName,
ArrayRef<NameAndValue> Mapping,
bool CheckGlobal, bool IgnoreCase) {
llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
StringRef LocalName, ArrayRef<NameAndValue> Mapping, bool CheckGlobal,
bool IgnoreCase) const {
auto Iter = CheckGlobal
? findPriorityOption(CheckOptions, NamePrefix, LocalName)
: CheckOptions.find((NamePrefix + LocalName).str());
if (Iter == CheckOptions.end())
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());

StringRef Value = Iter->second.Value;
StringRef Value = Iter->getValue().Value;
StringRef Closest;
unsigned EditDistance = -1;
for (const auto &NameAndEnum : Mapping) {
Expand All @@ -200,18 +200,38 @@ ClangTidyCheck::OptionsView::getEnumInt(StringRef LocalName,
}
if (EditDistance < 3)
return llvm::make_error<UnparseableEnumOptionError>(
Iter->first, Iter->second.Value, std::string(Closest));
return llvm::make_error<UnparseableEnumOptionError>(Iter->first,
Iter->second.Value);
Iter->getKey().str(), Iter->getValue().Value, Closest.str());
return llvm::make_error<UnparseableEnumOptionError>(Iter->getKey().str(),
Iter->getValue().Value);
}

void ClangTidyCheck::OptionsView::logErrToStdErr(llvm::Error &&Err) {
llvm::logAllUnhandledErrors(
llvm::handleErrors(std::move(Err),
[](const MissingOptionError &) -> llvm::Error {
return llvm::Error::success();
}),
llvm::errs(), "warning: ");
void ClangTidyCheck::OptionsView::logIfOptionParsingError(llvm::Error &&Err) {
if (auto RemainingErrors =
llvm::handleErrors(std::move(Err), [](const MissingOptionError &) {}))
llvm::logAllUnhandledErrors(std::move(RemainingErrors),
llvm::WithColor::warning());
}

template <>
Optional<std::string> ClangTidyCheck::OptionsView::getOptional<std::string>(
StringRef LocalName) const {
if (auto ValueOr = get(LocalName))
return *ValueOr;
else
consumeError(ValueOr.takeError());
return llvm::None;
}

template <>
Optional<std::string>
ClangTidyCheck::OptionsView::getOptionalLocalOrGlobal<std::string>(
StringRef LocalName) const {
if (auto ValueOr = getLocalOrGlobal(LocalName))
return *ValueOr;
else
consumeError(ValueOr.takeError());
return llvm::None;
}

} // namespace tidy
} // namespace clang
66 changes: 53 additions & 13 deletions clang-tools-extra/clang-tidy/ClangTidyCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (llvm::Expected<T> ValueOr = get<T>(LocalName))
return *ValueOr;
else
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

Expand Down Expand Up @@ -314,7 +314,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (llvm::Expected<T> ValueOr = getLocalOrGlobal<T>(LocalName))
return *ValueOr;
else
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -330,7 +330,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
/// supply the mapping required to convert between ``T`` and a string.
template <typename T>
std::enable_if_t<std::is_enum<T>::value, llvm::Expected<T>>
get(StringRef LocalName, bool IgnoreCase = false) {
get(StringRef LocalName, bool IgnoreCase = false) const {
if (llvm::Expected<int64_t> ValueOr =
getEnumInt(LocalName, typeEraseMapping<T>(), false, IgnoreCase))
return static_cast<T>(*ValueOr);
Expand All @@ -349,11 +349,11 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
/// supply the mapping required to convert between ``T`` and a string.
template <typename T>
std::enable_if_t<std::is_enum<T>::value, T>
get(StringRef LocalName, T Default, bool IgnoreCase = false) {
get(StringRef LocalName, T Default, bool IgnoreCase = false) const {
if (auto ValueOr = get<T>(LocalName, IgnoreCase))
return *ValueOr;
else
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -370,8 +370,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
/// supply the mapping required to convert between ``T`` and a string.
template <typename T>
std::enable_if_t<std::is_enum<T>::value, llvm::Expected<T>>
getLocalOrGlobal(StringRef LocalName,
bool IgnoreCase = false) {
getLocalOrGlobal(StringRef LocalName, bool IgnoreCase = false) const {
if (llvm::Expected<int64_t> ValueOr =
getEnumInt(LocalName, typeEraseMapping<T>(), true, IgnoreCase))
return static_cast<T>(*ValueOr);
Expand All @@ -391,14 +390,40 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
/// supply the mapping required to convert between ``T`` and a string.
template <typename T>
std::enable_if_t<std::is_enum<T>::value, T>
getLocalOrGlobal(StringRef LocalName, T Default, bool IgnoreCase = false) {
getLocalOrGlobal(StringRef LocalName, T Default,
bool IgnoreCase = false) const {
if (auto ValueOr = getLocalOrGlobal<T>(LocalName, IgnoreCase))
return *ValueOr;
else
logErrToStdErr(ValueOr.takeError());
logIfOptionParsingError(ValueOr.takeError());
return Default;
}

/// Returns the value for the option \p LocalName represented as a ``T``.
/// If the option is missing returns None, if the option can't be parsed
/// as a ``T``, log that to stderr and return None.
template <typename T = std::string>
llvm::Optional<T> getOptional(StringRef LocalName) const {
if (auto ValueOr = get<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
return llvm::None;
}

/// Returns the value for the local or global option \p LocalName
/// represented as a ``T``.
/// If the option is missing returns None, if the
/// option can't be parsed as a ``T``, log that to stderr and return None.
template <typename T = std::string>
llvm::Optional<T> getOptionalLocalOrGlobal(StringRef LocalName) const {
if (auto ValueOr = getLocalOrGlobal<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
return llvm::None;
}

/// Stores an option with the check-local name \p LocalName with
/// string value \p Value to \p Options.
void store(ClangTidyOptions::OptionMap &Options, StringRef LocalName,
Expand All @@ -420,7 +445,8 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
/// supply the mapping required to convert between ``T`` and a string.
template <typename T>
std::enable_if_t<std::is_enum<T>::value>
store(ClangTidyOptions::OptionMap &Options, StringRef LocalName, T Value) {
store(ClangTidyOptions::OptionMap &Options, StringRef LocalName,
T Value) const {
ArrayRef<std::pair<T, StringRef>> Mapping =
OptionEnumMapping<T>::getEnumMapping();
auto Iter = llvm::find_if(
Expand All @@ -436,11 +462,11 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {

llvm::Expected<int64_t> getEnumInt(StringRef LocalName,
ArrayRef<NameAndValue> Mapping,
bool CheckGlobal, bool IgnoreCase);
bool CheckGlobal, bool IgnoreCase) const;

template <typename T>
std::enable_if_t<std::is_enum<T>::value, std::vector<NameAndValue>>
typeEraseMapping() {
typeEraseMapping() const {
ArrayRef<std::pair<T, StringRef>> Mapping =
OptionEnumMapping<T>::getEnumMapping();
std::vector<NameAndValue> Result;
Expand All @@ -455,7 +481,8 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
void storeInt(ClangTidyOptions::OptionMap &Options, StringRef LocalName,
int64_t Value) const;

static void logErrToStdErr(llvm::Error &&Err);
/// Logs an Error to stderr if a \p Err is not a MissingOptionError.
static void logIfOptionParsingError(llvm::Error &&Err);

std::string NamePrefix;
const ClangTidyOptions::OptionMap &CheckOptions;
Expand Down Expand Up @@ -523,6 +550,19 @@ void ClangTidyCheck::OptionsView::store<bool>(
ClangTidyOptions::OptionMap &Options, StringRef LocalName,
bool Value) const;

/// Returns the value for the option \p LocalName.
/// If the option is missing returns None.
template <>
Optional<std::string> ClangTidyCheck::OptionsView::getOptional<std::string>(
StringRef LocalName) const;

/// Returns the value for the local or global option \p LocalName.
/// If the option is missing returns None.
template <>
Optional<std::string>
ClangTidyCheck::OptionsView::getOptionalLocalOrGlobal<std::string>(
StringRef LocalName) const;

} // namespace tidy
} // namespace clang

Expand Down
Loading