Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
518 commits
Select commit Hold shift + click to select a range
294e190
Fix quiet mode in git-clang-format
Gvald Aug 25, 2020
5b9c2b1
Revert "[LiveDebugValues][NFC] Add instr-ref tests, adapt old tests"
jmorse Aug 26, 2020
2392ff0
[libFuzzer] Error and exit if user supplied fuzzer writeable director…
morehouse Aug 26, 2020
ed07e1f
[SystemZ/ZOS] Add header file to encapsulate use of <sysexits.h>
redstar May 20, 2020
dc3d474
[SyntaxTree] Migrate `ParamatersAndQualifiers` to use the new List API
Aug 26, 2020
28bd47f
[LegalizeTypes] Remove WidenVecRes_Shift and just use WidenVecRes_Binary
topperc Aug 26, 2020
1f47f89
[profile] Add InstrProfilingVersionVar.c.o to Darwin kext builtins
vedantk Aug 26, 2020
4130544
[XCOFF][AIX] Support relocation generation for large code model
jasonliudev Aug 26, 2020
34b289b
[ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab
cachemeifyoucan Aug 26, 2020
72305a0
[llvm] [DAG] Fix bug in llvm.get.active.lane.mask lowering
aartbik Aug 26, 2020
9061eb8
Revert "Fix frame pointer layout on AArch64 Linux."
resistor Aug 26, 2020
8bfe46d
[NFC][InstCombine] Add tests with PHI-of-{insert,extract}value with m…
LebedevRI Aug 26, 2020
c07a430
[NFC][Value] Fixup comments, "N users" is NOT the same as "N uses".
LebedevRI Aug 26, 2020
95848ea
[Value][InstCombine] Fix one-use checks in PHI-of-op -> Op-of-PHI[s] …
LebedevRI Aug 26, 2020
eed0af6
[clang] Exclude invalid destructors from lookups.
gislan Aug 26, 2020
09288bc
[X86] Add assembler support for .d32 and .d8 mnemonic suffixes to con…
topperc Aug 26, 2020
684b43c
[IR] Add NoUndef attribute to Intrinsics.td
aqjune Aug 25, 2020
c67ccf5
[SampleFDO] Enhance profile remapping support for searching inline in…
wmi-11 Aug 25, 2020
f78687d
AMDGPU: Don't assert on misaligned DS read2/write2 offsets
arsenm Aug 26, 2020
e15143d
[Hexagon] Implement llvm.masked.load and llvm.masked.store for HVX
Aug 24, 2020
19e883f
[SVE] Remove calls to VectorType::getNumElements from clang
christetreault-llvm Aug 26, 2020
c971b53
[Polly] Use llvm::function_ref. NFC.
Meinersbur Aug 26, 2020
6538fff
[Polly] Inline ShoulDelete lambda. NFC.
Meinersbur Aug 26, 2020
476ca33
[LTO] Don't apply LTOPostLink module flag during writeMergedModule
cachemeifyoucan Aug 26, 2020
61dfa00
[MC][SVE] Fix data operand for instruction alias of `st1d`.
Aug 26, 2020
1446c18
[gn build] Manually port ed07e1fe
aeubanks Aug 26, 2020
098d3f9
[InstSimplify] Simplify to vector constants when possible
aeubanks Aug 10, 2020
ea7b1c7
Add cmake test support for LLJITWithThinLTOSummaries to make sure
echristo Aug 26, 2020
603a8a6
[mlir] NFC: fix trivial typos in documents
kiszk Aug 26, 2020
1596ea8
[OpenMP] Fix import library installation with MinGW
AndreyChurbanov Aug 26, 2020
28fbf42
[libomptarget][amdgpu] Update plugin CMake to work with latest rocr l…
JonChesterfield Aug 26, 2020
ceffd69
[Support][Windows] Fix incorrect GetFinalPathNameByHandleW() return v…
ArcsinX Aug 26, 2020
c6c292d
[llvm] [Thumb2] Test unusual length for active lane mask
aartbik Aug 26, 2020
54a5dd4
[DAGCombiner] allow store merging non-i8 truncated ops
rotateright Aug 26, 2020
9936455
Reapply D70800: Fix AArch64 AAPCS frame record chain
resistor Aug 26, 2020
d1e6103
[test] Rewrite various tests to not use constprop
aeubanks Aug 26, 2020
fd536ee
[AArch64][SVE] Add lowering for llvm fceil
Aug 26, 2020
b73c5a0
[InstSimplify] Add additional umax tests (NFC)
nikic Aug 26, 2020
d7c119d
[InstSimplify] Fold min/max intrinsic based on icmp of operands
nikic Aug 13, 2020
9cea682
[VectorCombine] adjust test for better coverage; NFC
rotateright Aug 26, 2020
5d989fb
[libomptarget][amdgpu] Improve thread safety, remove dead code
JonChesterfield Aug 26, 2020
5fbfe2e
[mlir][vector] Add vector.bitcast operation
ThomasRaoux Aug 26, 2020
24dd041
[LangRef] Memset/memcpy/memmove can take undef/poison pointer if the …
aqjune Aug 26, 2020
383f7c8
[AArch64] Use CCAssignFnForReturn helper in more spots. NFC.
ahmedbougacha Aug 26, 2020
0c55889
[IR] Remove noundef from masked store/load/gather/scatter's pointer o…
aqjune Aug 26, 2020
71f3169
[X86] Default to -mtune=generic unless -march is passed to the driver…
topperc Aug 26, 2020
a206ca4
Bring llvm::Optional data formatter back in sync with the implementat…
adrian-prantl Aug 26, 2020
0b34226
Use properlyDominates in RDFLiveness when sorting on dominance.
alinas Aug 26, 2020
92d3e70
[X86] Change pentium4 tuning settings and scheduler model back to the…
topperc Aug 26, 2020
c55db46
Load correct module for linux and android when duplicates exist in mi…
clayborg Aug 21, 2020
486ed88
[ConstProp] Remove ConstantPropagation
aeubanks Aug 3, 2020
82875dc
Fix OCaml bindings
aeubanks Aug 26, 2020
2d13693
[X86] Update release notes for -mtune support.
topperc Aug 26, 2020
7a5a74e
[OpenMP] Always emit debug messages that indicate offloading failure
jhuber6 Aug 26, 2020
605df81
[ORC][JITLink] Switch to unique ownership for EHFrameRegistrars.
lhames Aug 26, 2020
0b7f6cc
GlobalISel: Add generic instructions for memory intrinsics
arsenm Aug 3, 2020
5207545
GlobalISel: IRTranslate minimum of pointer sizes on memcpy
arsenm Aug 17, 2020
7a45759
[libunwind] Minor fixes in libunwind
rprichard Aug 19, 2020
3071d5f
[libunwind] Factor out getInfoFromFdeCie. NFCI.
rprichard Aug 18, 2020
ce3f26c
[gn build] Port 7a457593efe
llvmgnsyncbot Aug 27, 2020
3e7a86e
[lld-macho] Fall back to raw path if we don't find anything under sys…
int3 Aug 13, 2020
6336c04
[lld-macho] Make it possible to re-export .tbd files
int3 Aug 18, 2020
7394460
[lld-macho] Handle TAPI and regular re-exports uniformly
int3 Aug 13, 2020
cf918c8
[lld-macho] Implement -ObjC
int3 Aug 18, 2020
b84d72d
[lld-macho][NFC] Handle GOT bindings and regular bindings more uniformly
int3 Aug 20, 2020
cbe2731
[lld-macho] Implement weak bindings for GOT/TLV
int3 Aug 25, 2020
62b39b3
[lld-macho] Implement -all_load
int3 Aug 26, 2020
df2efd7
Fix MLIR build with MLIR_INCLUDE_TESTS=OFF
nihui Aug 27, 2020
76b0f99
[PowerPC] Implement Vector Multiply High/Divide Extended Builtins in …
amy-kwan Aug 27, 2020
d7461b3
[MLIR][SPIRV] Added optional name to SPIR-V module
georgemitenkov Aug 27, 2020
df182eb
Fix an overflow issue at BackpatchWord
stephan-yichao-zhao Aug 26, 2020
9c224fd
[MLIR][SPIRVToLLVM] Updated the documentation for type conversion
georgemitenkov Aug 27, 2020
6c05ca2
Remove the `run` method from `OpPassManager` and `Pass` and migrate i…
joker-eph Aug 27, 2020
a60d10a
[NFC][Test] Update the test with utils/update_llc_test_checks.py
Aug 27, 2020
a45ccc9
Default to -fuse-init-array on OpenBSD.
brad0 Aug 27, 2020
718e550
[SyntaxTree] Refactor `NodeRole`s
Aug 26, 2020
e850558
[MLIR][SPIRVToLLVM] Added a hook for descriptor set / binding encoding
georgemitenkov Aug 27, 2020
eec3500
[lld-macho] Fix objc.s test
int3 Aug 27, 2020
a6b95b2
[gn build] Port 7394460d875
llvmgnsyncbot Aug 27, 2020
176f26f
[gn build] Port cf918c809bb
llvmgnsyncbot Aug 27, 2020
a3e41d4
[ARM] Make MachineVerifier more strict about terminators
sparker-arm Aug 27, 2020
888c02d
[RISCV] add the MC layer support of riscv vector Zvamo extension
Jul 31, 2020
d48b84e
[MLIR][GPUToSPIRV] Passing gpu module name to SPIR-V module
georgemitenkov Aug 27, 2020
a23d055
[mlir] NFC: fix trivial typo under test and tools
kiszk Aug 27, 2020
0487908
Revert "Reapply D70800: Fix AArch64 AAPCS frame record chain"
mstorsjo Aug 27, 2020
03141aa
[ARM] Enable outliner at -Oz for M-class
sparker-arm Aug 27, 2020
6c25eca
[Attributor] Add flag for undef value to the state of AAPotentialValues
okuraofvegetable Aug 27, 2020
ca243b0
[LangRef] get.active.lane.mask can produce poison value
Aug 26, 2020
3cb6307
[MLIR][Shape] Fix typo
frgossen Aug 26, 2020
4e9d207
[AMDGPU] Preserve vcc_lo when shrinking V_CNDMASK
piotrAMD Aug 25, 2020
1d8af68
Revert "[Verifier] Additional check for intrinsic get.active.lane.mask"
Aug 27, 2020
7f1bb32
[NFC] Add unittests for findAllocaForValue
vitalybuka Aug 27, 2020
26d659b
[polly][cmake] Don't build LLVMPolly.so without PIC
rorth Aug 27, 2020
e717fdb
[DSE,MemorySSA] Traverse use-def chain without MemSSA Walker.
fhahn Aug 27, 2020
154901c
[unittests/Object] - Simplify the code in ELFObjectFileTest.cpp, NFCI.
Aug 26, 2020
469debe
[ValueTracking] Support select in findAllocaForValue
vitalybuka Aug 27, 2020
c1e6f1a
[lldb] Fix gcc 5.4.0 compile error
DavidSpickett Aug 26, 2020
2259ce8
[RISC-V] ADDI/ORI/XORI x, 0 should be as cheap as a move
arichardson Aug 25, 2020
a11eeb4
[RISC-V] Mark C_MV as a move instruction
arichardson Aug 25, 2020
5ba4d03
[RISC-V] fmv.s/fmv.d should be as cheap as a move
arichardson Aug 25, 2020
d2385f6
[lld][ELF][test] Expand testing of symbols in mergeable sections
jh7370 Aug 25, 2020
ff6dbb2
Follow up of rGca243b07276a: fixed a typo. NFC.
Aug 27, 2020
4e9b66d
[AArch64][SVE] Add missing debug info for ACLE types.
sdesmalen-arm Aug 27, 2020
81337c9
[SVE] Fallback to default expansion when lowering SIGN_EXTEN_INREG fr…
paulwalker-arm Aug 22, 2020
8191603
[NFC][ValueTracking] Fix typo in test
vitalybuka Aug 27, 2020
23d5e93
[AArch64] Optimize instruction selection for certain vector shuffles
miyuki Aug 27, 2020
6ccacb4
[NFC][ValueTracking] Cleanup a test
vitalybuka Aug 27, 2020
73f09ce
[DSE,MemorySSA] Add test for PR47285.
fhahn Aug 27, 2020
feed5a7
[Sema][AArch64] Support arm_sve_vector_bits attribute
c-rhodes Aug 11, 2020
e048ea7
[NFC][DebugInfo] Create InstructionOrdering helper class (1/4)
OCHyams Aug 27, 2020
0b5a805
[DwarfDebug] Improve single location detection in validThroughout (2/4)
OCHyams Aug 27, 2020
3c49188
[DwarfDebug] Improve multi-BB single location detection in validThrou…
OCHyams Aug 27, 2020
57d8aca
[DwarfDebug] Improve validThroughout performance (4/4)
OCHyams Aug 27, 2020
b6cca0e
Revert "[DWARF] Add cuttoff guarding quadratic validThroughout behavi…
OCHyams Aug 27, 2020
d4e2e28
[ELF][test] Add test coverage of TLS to gc-sections.s
nga888 Aug 26, 2020
182d14d
[NFC][compiler-rt] Factor out __mulv[sdt]i3 implementations to .inc file
atrosinenko Aug 27, 2020
fce035e
[NFC][compiler-rt] Factor out __mulo[sdt]i4 implementations to .inc file
atrosinenko Aug 27, 2020
bb024c3
[DSE,MemorySSA] Remove short-cut to check if all paths are covered.
fhahn Aug 27, 2020
c17718e
Fix for PS4 bots after 0b7f6cc71a72a85f8a0cbee836a7a8e31876951a
rgal Aug 27, 2020
e72403f
[LLD] [MinGW] Enable dynamicbase by default
mstorsjo Aug 26, 2020
df8f3bf
[LLD] [COFF] Check the aux section definition size for IMAGE_COMDAT_S…
mstorsjo Aug 26, 2020
0ec098e
[FPEnv] Allow fneg + strict_fadd -> strict_fsub in DAGCombiner
Aug 26, 2020
45eeb8c
[AMDGPU] Remove unused variable introduced in r251860
jayfoad Aug 26, 2020
45344cf
[CMake][compiler-rt][libunwind] Compile assembly files as ASM not C, …
tambry Aug 20, 2020
fda3fa8
[SyntaxTree][NFC] Append "get" to syntax Nodes accessor names
Aug 27, 2020
ac87a0b
[SyntaxTree][NFC][Style] Functions start with lowercase
Aug 27, 2020
5621571
Fix Attributor return status
Aug 27, 2020
4e29d25
Fix OpenMP deduplicateRuntimeCalls return status
Aug 27, 2020
219ccdf
[lldb/Utility] Use APSInt in the Scalar class
labath Aug 24, 2020
9f5927e
[lldb/DWARF] Fix handling of variables with both location and const_v…
labath Aug 26, 2020
2668256
[Tooling][Format] Treat compound extensions (foo.bar.cc) as matching …
sam-mccall Aug 26, 2020
9cb222e
[cmake] Make gtest include directories a part of the library interface
labath Aug 12, 2020
0de1463
[lldb] Fix Type::GetByteSize for pointer types
labath Aug 24, 2020
5b2b754
[lldb/cmake] Fix linking of lldbUtilityHelpers for 9cb222e74
labath Aug 27, 2020
419c694
[SimplifyLibCalls] Remove over-eager early return in strlen optzns.
fhahn Aug 27, 2020
154daf1
[Hexagon] Widen short vector stores to HVX vectors using masked stores
Aug 27, 2020
6c770a0
AMDGPU: Hoist subtarget lookup
arsenm Aug 12, 2020
dd63506
[lldb/cmake] Fix linking of lldbSymbolHelpers for 9cb222e7
labath Aug 27, 2020
2b7df27
[Hexagon] Fold single-use variable into assert. NFCI.
d0k Aug 27, 2020
b5924a8
[Hexagon] Fold another layer of single-use variable into assert. NFCI.
d0k Aug 27, 2020
a14a280
[MLIR] MemRef Normalization for Dialects
AlexandreEichenberger Aug 27, 2020
6923b0a
Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file."
Aug 27, 2020
a6a37a2
[Support] On Windows, add optional support for {rpmalloc|snmalloc|mim…
aganea Aug 27, 2020
4258734
[CodeGen][AArch64] Support arm_sve_vector_bits attribute
c-rhodes Aug 11, 2020
3b71f91
[libcxx] Fix compile for BUILD_EXTERNAL_THREAD_LIBRARY
Aug 27, 2020
49644cd
[libc++] Install a more recent CMake on libc++ builders
ldionne Aug 27, 2020
c9455d3
[Test] Tidy up loose ends from LLVM_HAS_GLOBAL_ISEL
rgal Aug 27, 2020
94d3dd8
[NFC][EarlyCSE][InstSimplify] Add tests for CSE of PHI nodes
LebedevRI Aug 27, 2020
6102310
[InstSimplify][EarlyCSE] Try to CSE PHI nodes in the same basic block
LebedevRI Aug 26, 2020
a19fd1a
Revert "[libcxx] Fix compile for BUILD_EXTERNAL_THREAD_LIBRARY"
miyuki Aug 27, 2020
7ed8124
[HeapProf] Clang and LLVM support for heap profiling instrumentation
teresajohnson Aug 13, 2020
fddf543
[MLIR][GPUToSPIRV] Fix use-after-free. Found by asan.
d0k Aug 27, 2020
3d943bc
[CodeGen] Properly propagating Calling Convention information when lo…
pratlucas Aug 27, 2020
5c2db16
[GISel]: Fix one more CSE Non determinism
Aug 27, 2020
7a68f0f
[Attributor] Add a phase flag to Attributor
okuraofvegetable Aug 27, 2020
c48b06c
[sda][nfc] clang-formatting
Aug 27, 2020
dd04fa1
[OCaml] Remove add_constant_propagation
aeubanks Aug 27, 2020
b981924
[lldb] Move triple construction out of getArchCFlags in DarwinBuilder…
JDevlieghere Aug 26, 2020
a7e4a17
[lldb] Make lldb-argdumper a dependency of liblldb
JDevlieghere Aug 27, 2020
db464a3
[GISel] Add new GISel combiners for G_SELECT
Aug 27, 2020
8bdb98c
[test][Inliner] Make always-inline.ll work with NPM
aeubanks Aug 26, 2020
8978394
[gn build] Manually port c9455d3
aeubanks Aug 27, 2020
b3efa65
[gn build] Port 7ed8124d46f
llvmgnsyncbot Aug 27, 2020
5b9d462
[HeapProf] Fix bot failures from instrumentation pass
teresajohnson Aug 27, 2020
e9d9a61
Reapply D70800: Fix AArch64 AAPCS frame record chain
resistor Aug 26, 2020
ba852e1
[X86] Don't call hasFnAttribute and getFnAttribute for 'prefer-vector…
topperc Aug 27, 2020
ae1396c
[ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics
miyuki Aug 27, 2020
9607ccf
GlobalISel: Remove leftover lit.local.cfg
arsenm Aug 27, 2020
433f268
[ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics
miyuki Aug 27, 2020
531f706
GlobalISel: Implement known bits for G_MERGE_VALUES
arsenm Aug 27, 2020
e53b799
GlobalISel: Use & operator on KnownBits
arsenm Aug 27, 2020
5a55e27
[SVE] Remove calls to VectorType::getNumElements from IR
christetreault-llvm Aug 27, 2020
21a1a26
[libc++][NFC] Define functor's call operator inline
ldionne Aug 27, 2020
d2b845d
[lld-macho] Disable invalid/stub-link.s test for Mac
int3 Aug 27, 2020
875074c
[OpenMP][MLIR] Conversion pattern for OpenMP to LLVM
kiranchandramohan Aug 13, 2020
a1bdf8f
[OpenMP] Ensure testing for versions 4.5 and default - Part 2
saiislam Aug 27, 2020
5e63083
[SVE] Remove calls to VectorType::getNumElements from Transforms/Vect…
christetreault-llvm Aug 27, 2020
28a7dfa
[MLIR] Fixed missing constraint append when adding an AffineIfOp domain
kumasento Aug 27, 2020
c5e6872
[Attributor] Guarantee getAAFor not to update AA in the manifestation…
okuraofvegetable Aug 27, 2020
3f8a0ec
[libcxx] Fix the broken test after D82657.
hokein Aug 27, 2020
52f1df0
Recommit "[libFuzzer] Fix value-profile-load test."
dokyungs Aug 19, 2020
5a9e778
[analyzer] NFC: Store the pointee/referenced type for dynamic type tr…
Aug 27, 2020
4448aff
[analyzer] pr47037: CastValueChecker: Support for the new variadic is…
Aug 27, 2020
37c21db
[analyzer] Fix the debug print about debug egraph dumps requiring ass…
nullptr-cpp Aug 27, 2020
6e26e49
[analyzer] NFC: Fix wrong parameter name in printFormattedEntry.
nullptr-cpp Aug 27, 2020
035833a
[SVE] Remove bad call to VectorType::getNumElements() from HeapProfiler
christetreault-llvm Aug 27, 2020
b85f91f
[InstSimplify] SimplifyPHINode(): check that instruction is in basic …
LebedevRI Aug 27, 2020
ff260ad
[OpenMP] Ensure testing for versions 4.5 and default - Part 3
saiislam Aug 27, 2020
17ceda9
[CodeGen] Use an AttrBuilder to bulk remove 'target-cpu', 'target-fea…
topperc Aug 27, 2020
58d257b
[Attributor] Do not add AA to dependency graph after the update stage
okuraofvegetable Aug 27, 2020
8d21985
[RegisterScavenging] Delete dead function unprocess().
efriedma-quic Aug 27, 2020
4ef9275
[Hexagon] Emit better 32-bit multiplication sequence for HVXv62+
Aug 27, 2020
201f770
GlobalISel: Add and_trivial_mask to all_combines
arsenm Aug 27, 2020
a1bc37c
AMDGPU: Use caller subtarget, not intrinsic declaration
arsenm Aug 27, 2020
a6927c8
[NFC][ValueTracking] Add OffsetZero into findAllocaForValue
vitalybuka Aug 27, 2020
a406605
[StackSafety] Ignore allocas with partial lifetime markers
vitalybuka Aug 27, 2020
ee67963
MIR: Infer not-SSA for subregister defs
arsenm Jun 28, 2020
0034e00
AArch64/GlobalISel: Fix missing function begin marker in test
arsenm Aug 27, 2020
abc99ab
GlobalISel: Implement known bits for min/max
arsenm Aug 27, 2020
a1ac047
[OpenMP] Fix a failing test after D85214
saiislam Aug 27, 2020
50ebd1a
[Attributor] Do not manifest noundef for dead positions
okuraofvegetable Aug 27, 2020
d22985c
[Driver][XRay][test] Update the macOS support check
Aug 27, 2020
ba1de5f
[OPENMP]Do not crash for globals in inner regions with outer target
alexey-bataev Aug 27, 2020
d870e36
[SSP] Restore setting the visibility of __guard_local to hidden for b…
brad0 Aug 27, 2020
2e7041f
Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute"
c-rhodes Aug 27, 2020
23524fd
[ValueTracking] Replace recursion with Worklist
vitalybuka Aug 27, 2020
c10e636
Recommit "[libFuzzer] Fix arguments of InsertPartOf/CopyPartOf calls …
dokyungs Aug 5, 2020
6cf4f25
Revert "GlobalISel: Use & operator on KnownBits"
arsenm Aug 27, 2020
f08bbde
Correctly revert "GlobalISel: Use & operator on KnownBits"
arsenm Aug 27, 2020
9d3dc27
AMDGPU: Fix broken switch braces
arsenm Aug 27, 2020
af1c1e2
AMDGPU/GlobalISel: Implement computeKnownBits for groupstaticsize
arsenm Aug 27, 2020
5feca7c
GlobalISel: Implement computeNumSignBits for G_SEXT_INREG
arsenm Aug 27, 2020
3776999
[clang-query][NFC] Silence a few lint warnings
njames93 Aug 28, 2020
7f717b6
[lldb] Fix "no matching std::pair constructor" on Ubuntu 16.04 (NFC)
JDevlieghere Aug 28, 2020
e263287
[lld-macho] Implement weak binding for branch relocations
int3 Aug 27, 2020
3da2130
[lld-macho] Emit the right header flags for weak bindings/symbols
int3 Aug 27, 2020
2a38dba
[lld-macho] Emit binding opcodes for defined symbols that override we…
int3 Aug 27, 2020
7083363
[lld-macho] Implement GOT_LOAD relaxation
int3 Aug 27, 2020
0407197
[lld-macho] Support GOT relocations to __dso_handle
int3 Aug 27, 2020
ccbacdd
[lld-macho] Weak locals should be relaxed too
int3 Aug 28, 2020
ae8fa1d
[lld-macho][NFC] Define isHidden() in LinkEditSection
int3 Aug 28, 2020
cdcb9ab
Revert "Use find_library for ncurses"
haampie Aug 28, 2020
d370836
[MemorySSA] Assert defining access is not a MemoryUse.
alinas Aug 27, 2020
cbea175
[PowerPC] PPCBoolRetToInt: Don't translate Constant's operands
Aug 28, 2020
4df2a5f
[flang][openacc] Add check for tile clause restriction
clementval Aug 28, 2020
1d3ef5f
[MSAN] Add fiber switching APIs
justincady Aug 28, 2020
832c8a7
[flang][openacc] Fix gang-argument parsing and add validity tests for…
clementval Aug 28, 2020
82d29b3
Add an unsigned shift base sanitizer
jfbastien Aug 14, 2020
7b00c80
Add a global flag to disable the global dialect registry "process wise"
joker-eph Aug 28, 2020
b1f4e59
(Expensive) Check for Loop, SCC and Region pass return status
Aug 27, 2020
a5d0fd1
[gn build] Port b1f4e5979b7
llvmgnsyncbot Aug 28, 2020
37ef743
[MC] [Win64EH] Avoid producing malformed xdata records
mstorsjo Aug 20, 2020
db1ec04
[ValueTracking] Remove a stray semicolon. NFC.
mstorsjo Aug 28, 2020
ba7c79c
[llvm-reduce] Skip chunks that lead to broken modules.
fhahn Aug 28, 2020
c78d276
[unittests/Object] - Add testing for missing ELF formats.
Aug 26, 2020
4cd1425
[llvm-readobj][test] - Test "Format" values.
Aug 21, 2020
3fe01f0
[llvm-readobj] - Simplify the code that creates dumpers. NFCI.
Aug 27, 2020
ec9abb8
Merge commit master into llvmspirv_pulldown
vladimirlaz Aug 31, 2020
142db11
Add OpenCL.DebugInfo.100 as alias to SPIRV.debug according to specifi…
NikitaRudenkoIntel Aug 10, 2020
66e342c
Fix handling of phi nodes in LowerConstExprs.
zuban32 Aug 17, 2020
32a669a
Fix emitting SPIRV metadata for non-kernel functions in PreprocessMet…
NikitaRudenkoIntel Aug 19, 2020
616ce27
Be more tolerant with buffer_location MDNode type
MrSidims Aug 24, 2020
0642b86
Fix release build fail
DmitryBushev Aug 24, 2020
9e1c7d7
Add --spirv-debug-info-version option (#694)
NikitaRudenkoIntel Aug 27, 2020
fc73b6b
Fix LoopControl parameters order
MrSidims Aug 24, 2020
2377920
[SYCL] XFAIL test failing in public
vladimirlaz Aug 31, 2020
500a0b8
[SYCL] Switch SPIRV debug info to legacy mode to support old OpenCL RTs
vladimirlaz Aug 31, 2020
b74ec89
Revert "[SYCL] fix build of unittests after LLVM commit a52173a3"
vladimirlaz Aug 31, 2020
1fbf778
Merge remote-tracking branch 'intel_llvm/sycl' into llvmspirv_pulldown
vladimirlaz Aug 31, 2020
761f738
Merge remote-tracking branch sycl into llvmspirv_pulldown
vladimirlaz Sep 2, 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
  •  
  •  
  •  
22 changes: 12 additions & 10 deletions clang-tools-extra/clang-query/tool/ClangQuery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,31 +110,33 @@ int main(int argc, const char **argv) {
ClangTool Tool(OptionsParser->getCompilations(),
OptionsParser->getSourcePathList());
std::vector<std::unique_ptr<ASTUnit>> ASTs;
int Status = Tool.buildASTs(ASTs);
int ASTStatus = 0;
if (Status == 1) {
// Building ASTs failed.
switch (Tool.buildASTs(ASTs)) {
case 0:
break;
case 1: // Building ASTs failed.
return 1;
} else if (Status == 2) {
case 2:
ASTStatus |= 1;
llvm::errs() << "Failed to build AST for some of the files, "
<< "results may be incomplete."
<< "\n";
} else {
assert(Status == 0 && "Unexpected status returned");
break;
default:
llvm_unreachable("Unexpected status returned");
}

QuerySession QS(ASTs);

if (!Commands.empty()) {
for (auto I = Commands.begin(), E = Commands.end(); I != E; ++I) {
QueryRef Q = QueryParser::parse(*I, QS);
for (auto &Command : Commands) {
QueryRef Q = QueryParser::parse(Command, QS);
if (!Q->run(llvm::outs(), QS))
return 1;
}
} else if (!CommandFiles.empty()) {
for (auto I = CommandFiles.begin(), E = CommandFiles.end(); I != E; ++I) {
if (runCommandsInFile(argv[0], *I, QS))
for (auto &CommandFile : CommandFiles) {
if (runCommandsInFile(argv[0], CommandFile, QS))
return 1;
}
} else {
Expand Down
5 changes: 4 additions & 1 deletion clang-tools-extra/clangd/ClangdLSPServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,10 @@ void ClangdLSPServer::onInitialize(const InitializeParams &Params,
{"codeActionProvider", std::move(CodeActionProvider)},
{"completionProvider",
llvm::json::Object{
{"allCommitCharacters", " \t()[]{}<>:;,+-/*%^&#?.=\"'|"},
{"allCommitCharacters",
{" ", "\t", "(", ")", "[", "]", "{", "}", "<",
">", ":", ";", ",", "+", "-", "/", "*", "%",
"^", "&", "#", "?", ".", "=", "\"", "'", "|"}},
{"resolveProvider", false},
// We do extra checks, e.g. that > is part of ->.
{"triggerCharacters", {".", "<", ">", ":", "\"", "/"}},
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clangd/ClangdServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ class ClangdServer {
bool BuildRecoveryAST = true;

/// If true, turn on the `-frecovery-ast-type` clang flag.
bool PreserveRecoveryASTType = false;
bool PreserveRecoveryASTType = true;

/// Clangd's workspace root. Relevant for "workspace" operations not bound
/// to a particular file.
Expand Down
53 changes: 39 additions & 14 deletions clang-tools-extra/clangd/SemanticHighlighting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,23 +221,51 @@ class HighlightingsBuilder {
// the end of the Tokens).
TokRef = TokRef.drop_front(Conflicting.size());
}
// Add tokens indicating lines skipped by the preprocessor.
for (const Range &R : AST.getMacros().SkippedRanges) {
const auto &SM = AST.getSourceManager();
StringRef MainCode = SM.getBuffer(SM.getMainFileID())->getBuffer();

// Merge token stream with "inactive line" markers.
std::vector<HighlightingToken> WithInactiveLines;
auto SortedSkippedRanges = AST.getMacros().SkippedRanges;
llvm::sort(SortedSkippedRanges);
auto It = NonConflicting.begin();
for (const Range &R : SortedSkippedRanges) {
// Create one token for each line in the skipped range, so it works
// with line-based diffing.
assert(R.start.line <= R.end.line);
for (int Line = R.start.line; Line <= R.end.line; ++Line) {
// Don't bother computing the offset for the end of the line, just use
// zero. The client will treat this highlighting kind specially, and
// highlight the entire line visually (i.e. not just to where the text
// on the line ends, but to the end of the screen).
NonConflicting.push_back({HighlightingKind::InactiveCode,
{Position{Line, 0}, Position{Line, 0}}});
// Copy tokens before the inactive line
for (; It != NonConflicting.end() && It->R.start.line < Line; ++It)
WithInactiveLines.push_back(std::move(*It));
// Add a token for the inactive line itself.
auto StartOfLine = positionToOffset(MainCode, Position{Line, 0});
if (StartOfLine) {
StringRef LineText =
MainCode.drop_front(*StartOfLine).take_until([](char C) {
return C == '\n';
});
WithInactiveLines.push_back(
{HighlightingKind::InactiveCode,
{Position{Line, 0},
Position{Line, static_cast<int>(lspLength(LineText))}}});
} else {
elog("Failed to convert position to offset: {0}",
StartOfLine.takeError());
}

// Skip any other tokens on the inactive line. e.g.
// `#ifndef Foo` is considered as part of an inactive region when Foo is
// defined, and there is a Foo macro token.
// FIXME: we should reduce the scope of the inactive region to not
// include the directive itself.
while (It != NonConflicting.end() && It->R.start.line == Line)
++It;
}
}
// Re-sort the tokens because that's what the diffing expects.
llvm::sort(NonConflicting);
return NonConflicting;
// Copy tokens after the last inactive line
for (; It != NonConflicting.end(); ++It)
WithInactiveLines.push_back(std::move(*It));
return WithInactiveLines;
}

private:
Expand Down Expand Up @@ -493,9 +521,6 @@ toSemanticTokens(llvm::ArrayRef<HighlightingToken> Tokens) {
std::vector<SemanticToken> Result;
const HighlightingToken *Last = nullptr;
for (const HighlightingToken &Tok : Tokens) {
// FIXME: support inactive code - we need to provide the actual bounds.
if (Tok.Kind == HighlightingKind::InactiveCode)
continue;
Result.emplace_back();
SemanticToken &Out = Result.back();
// deltaStart/deltaLine are relative if possible.
Expand Down
20 changes: 20 additions & 0 deletions clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,13 @@ class UsingFinder : public RecursiveASTVisitor<UsingFinder> {
const SourceManager &SM;
};

bool isFullyQualified(const NestedNameSpecifier *NNS) {
if (!NNS)
return false;
return NNS->getKind() == NestedNameSpecifier::Global ||
isFullyQualified(NNS->getPrefix());
}

struct InsertionPointData {
// Location to insert the "using" statement. If invalid then the statement
// should not be inserted at all (it already exists).
Expand All @@ -94,6 +101,9 @@ struct InsertionPointData {
// insertion point is anchored to, we may need one or more \n to ensure
// proper formatting.
std::string Suffix;
// Whether using should be fully qualified, even if what the user typed was
// not. This is based on our detection of the local style.
bool AlwaysFullyQualify = false;
};

// Finds the best place to insert the "using" statement. Returns invalid
Expand All @@ -118,7 +128,13 @@ findInsertionPoint(const Tweak::Selection &Inputs,
SM)
.TraverseAST(Inputs.AST->getASTContext());

bool AlwaysFullyQualify = true;
for (auto &U : Usings) {
// Only "upgrade" to fully qualified is all relevant using decls are fully
// qualified. Otherwise trust what the user typed.
if (!isFullyQualified(U->getQualifier()))
AlwaysFullyQualify = false;

if (SM.isBeforeInTranslationUnit(Inputs.Cursor, U->getUsingLoc()))
// "Usings" is sorted, so we're done.
break;
Expand All @@ -137,6 +153,7 @@ findInsertionPoint(const Tweak::Selection &Inputs,
if (LastUsingLoc.isValid()) {
InsertionPointData Out;
Out.Loc = LastUsingLoc;
Out.AlwaysFullyQualify = AlwaysFullyQualify;
return Out;
}

Expand Down Expand Up @@ -278,6 +295,9 @@ Expected<Tweak::Effect> AddUsing::apply(const Selection &Inputs) {
std::string UsingText;
llvm::raw_string_ostream UsingTextStream(UsingText);
UsingTextStream << "using ";
if (InsertionPoint->AlwaysFullyQualify &&
!isFullyQualified(QualifierToRemove.getNestedNameSpecifier()))
UsingTextStream << "::";
QualifierToRemove.getNestedNameSpecifier()->print(
UsingTextStream, Inputs.AST->getASTContext().getPrintingPolicy());
UsingTextStream << Name << ";" << InsertionPoint->Suffix;
Expand Down
30 changes: 29 additions & 1 deletion clang-tools-extra/clangd/test/initialize-params.test
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,35 @@
# CHECK-NEXT: "capabilities": {
# CHECK-NEXT: "codeActionProvider": true,
# CHECK-NEXT: "completionProvider": {
# CHECK-NEXT: "allCommitCharacters": " \t()[]{}<>:;,+-/*%^&#?.=\"'|",
# CHECK-NEXT: "allCommitCharacters": [
# CHECK-NEXT: " ",
# CHECK-NEXT: "\t",
# CHECK-NEXT: "(",
# CHECK-NEXT: ")",
# CHECK-NEXT: "[",
# CHECK-NEXT: "]",
# CHECK-NEXT: "{",
# CHECK-NEXT: "}",
# CHECK-NEXT: "<",
# CHECK-NEXT: ">",
# CHECK-NEXT: ":",
# CHECK-NEXT: ";",
# CHECK-NEXT: ",",
# CHECK-NEXT: "+",
# CHECK-NEXT: "-",
# CHECK-NEXT: "/",
# CHECK-NEXT: "*",
# CHECK-NEXT: "%",
# CHECK-NEXT: "^",
# CHECK-NEXT: "&",
# CHECK-NEXT: "#",
# CHECK-NEXT: "?",
# CHECK-NEXT: ".",
# CHECK-NEXT: "=",
# CHECK-NEXT: "\"",
# CHECK-NEXT: "'",
# CHECK-NEXT: "|"
# CHECK-NEXT: ],
# CHECK-NEXT: "resolveProvider": false,
# CHECK-NEXT: "triggerCharacters": [
# CHECK-NEXT: ".",
Expand Down
5 changes: 2 additions & 3 deletions clang-tools-extra/clangd/tool/ClangdMain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,8 @@ opt<bool> RecoveryAST{
opt<bool> RecoveryASTType{
"recovery-ast-type",
cat(Features),
desc("Preserve the type for recovery AST. Note that "
"this feature is experimental and may lead to crashes"),
init(false),
desc("Preserve the type for recovery AST."),
init(ClangdServer::Options().PreserveRecoveryASTType),
Hidden,
};

Expand Down
24 changes: 12 additions & 12 deletions clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -503,11 +503,11 @@ TEST(SemanticHighlighting, GetsCorrectTokens) {

#define $Macro[[test]]
#undef $Macro[[test]]
$InactiveCode[[]] #ifdef $Macro[[test]]
$InactiveCode[[]] #endif
$InactiveCode[[#ifdef test]]
$InactiveCode[[#endif]]

$InactiveCode[[]] #if defined($Macro[[test]])
$InactiveCode[[]] #endif
$InactiveCode[[#if defined(test)]]
$InactiveCode[[#endif]]
)cpp",
R"cpp(
struct $Class[[S]] {
Expand Down Expand Up @@ -614,26 +614,26 @@ TEST(SemanticHighlighting, GetsCorrectTokens) {
R"cpp(
// Code in the preamble.
// Inactive lines get an empty InactiveCode token at the beginning.
$InactiveCode[[]] #ifdef $Macro[[test]]
$InactiveCode[[]] #endif
$InactiveCode[[#ifdef test]]
$InactiveCode[[#endif]]

// A declaration to cause the preamble to end.
int $Variable[[EndPreamble]];

// Code after the preamble.
// Code inside inactive blocks does not get regular highlightings
// because it's not part of the AST.
$InactiveCode[[]] #ifdef $Macro[[test]]
$InactiveCode[[]] int Inactive2;
$InactiveCode[[]] #endif
$InactiveCode[[#ifdef test]]
$InactiveCode[[int Inactive2;]]
$InactiveCode[[#endif]]

#ifndef $Macro[[test]]
int $Variable[[Active1]];
#endif

$InactiveCode[[]] #ifdef $Macro[[test]]
$InactiveCode[[]] int Inactive3;
$InactiveCode[[]] #else
$InactiveCode[[#ifdef test]]
$InactiveCode[[int Inactive3;]]
$InactiveCode[[#else]]
int $Variable[[Active2]];
#endif
)cpp",
Expand Down
57 changes: 57 additions & 0 deletions clang-tools-extra/clangd/unittests/TweakTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2723,6 +2723,63 @@ namespace foo { void fun(); }

void foo::fun() {
ff();
})cpp"},
// If all other using are fully qualified, add ::
{R"cpp(
#include "test.hpp"

using ::one::two::cc;
using ::one::two::ee;

void fun() {
one::two::f^f();
})cpp",
R"cpp(
#include "test.hpp"

using ::one::two::cc;
using ::one::two::ff;using ::one::two::ee;

void fun() {
ff();
})cpp"},
// Make sure we don't add :: if it's already there
{R"cpp(
#include "test.hpp"

using ::one::two::cc;
using ::one::two::ee;

void fun() {
::one::two::f^f();
})cpp",
R"cpp(
#include "test.hpp"

using ::one::two::cc;
using ::one::two::ff;using ::one::two::ee;

void fun() {
ff();
})cpp"},
// If even one using doesn't start with ::, do not add it
{R"cpp(
#include "test.hpp"

using ::one::two::cc;
using one::two::ee;

void fun() {
one::two::f^f();
})cpp",
R"cpp(
#include "test.hpp"

using ::one::two::cc;
using one::two::ff;using one::two::ee;

void fun() {
ff();
})cpp"}};
llvm::StringMap<std::string> EditedFiles;
for (const auto &Case : Cases) {
Expand Down
10 changes: 10 additions & 0 deletions clang/docs/LTOVisibility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ other classes receive hidden LTO visibility. Classes with internal linkage
(e.g. classes declared in unnamed namespaces) also receive hidden LTO
visibility.

During the LTO link, all classes with public LTO visibility will be refined
to hidden LTO visibility when the ``--lto-whole-program-visibility`` lld linker
option is applied (``-plugin-opt=whole-program-visibility`` for gold). This flag
can be used to defer specifying whether classes have hidden LTO visibility until
link time, to allow bitcode objects to be shared by different LTO links.
Due to an implementation limitation, symbols associated with classes with hidden
LTO visibility may still be exported from the binary when using this flag. It is
unsafe to refer to these symbols, and their visibility may be relaxed to hidden
in a future compiler release.

A class defined in a translation unit built without LTO receives public
LTO visibility regardless of its object file visibility, linkage or other
attributes.
Expand Down
7 changes: 7 additions & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,13 @@ X86 Support in Clang
- The x86 intrinsics ``__rorb``, ``__rorw``, ``__rord``, ``__rorq`, ``_rotr``,
``_rotwr`` and ``_lrotr`` may now be used within constant expressions.

- Support for -march=sapphirerapids was added.

- The -mtune command line option is no longer ignored for X86. This can be used
to request microarchitectural optimizations independent on -march. -march=<cpu>
implies -mtune=<cpu>. -mtune=generic is the default with no -march or -mtune
specified.

Internal API Changes
--------------------

Expand Down
2 changes: 2 additions & 0 deletions clang/docs/UndefinedBehaviorSanitizer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ Available checks are:
unsigned overflow in C++. You can use ``-fsanitize=shift-base`` or
``-fsanitize=shift-exponent`` to check only left-hand side or
right-hand side of shift operation, respectively.
- ``-fsanitize=unsigned-shift-base``: check that an unsigned left-hand side of
a left shift operation doesn't overflow.
- ``-fsanitize=signed-integer-overflow``: Signed integer overflow, where the
result of a signed integer computation cannot be represented in its type.
This includes all the checks covered by ``-ftrapv``, as well as checks for
Expand Down
Loading