Skip to content

LLVM and SPIRV-LLVM-Translator pulldown #1329

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 1,182 commits into from
Mar 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1182 commits
Select commit Hold shift + click to select a range
8093e31
[mlir][CRunnerUtils] Enable compilation with C++11 toolchain on micro…
Mar 12, 2020
e3fc6b3
[lldb][NFC] Fix unsigned/signed comparison warning in SymbolFileDWARF…
Teemperor Mar 12, 2020
8b39341
[PowerPC][AIX] Fix printing of program counter for AIX assembly.
mandlebug Mar 12, 2020
c8e1081
[VE][nfc] Use RRIm for RRINDm, remove the latter
Mar 12, 2020
3e53bf5
[PowerPC32] Fix the `setcc` inconsistent result type problem
xling-liao Mar 11, 2020
5f9fcfb
Replace getAs with castAs to fix null dereference static analyzer war…
RKSimon Mar 12, 2020
dbde39e
Fix static analyzer null dereference warning. NFCI.
RKSimon Mar 12, 2020
7c2b3c9
Replace getAs with castAs to fix null dereference static analyzer war…
RKSimon Mar 12, 2020
eb4b5a3
[ELF] Move --print-map(-M)/--cref before checkSections() and openFile()
MaskRay Mar 10, 2020
352f16d
[lldb] Let OptionValueRegex::Clear set to value to the default and no…
Teemperor Mar 12, 2020
ba5500f
[RAGreedy] Fix minor typo in comment. NFC
Kariddi Mar 12, 2020
d9bf79f
[Attributor][FIX] Add a missing dependence track in noalias deduction
uenoku Mar 12, 2020
6999335
ObjCMethodDecl::findPropertyDecl - fix static analyzer null derefere…
RKSimon Mar 12, 2020
d688312
[PowerPC][AIX] Implement formal arguments passed in stack memory.
ZarkoT Mar 12, 2020
2c9cf9f
[clang-tidy] New check: bugprone-suspicious-include
jroelofs Mar 10, 2020
e79397f
[gn build] Port 2c9cf9f4ddd
llvmgnsyncbot Mar 12, 2020
7420f96
[TableGen] Move generated *Attr class methods out of line
rnk Mar 12, 2020
fa80803
[AST][SVE] Add new Type queries for sizeless types
rsandifo-arm Feb 20, 2020
b93dd67
[gn build] Port fa8080376e7
llvmgnsyncbot Mar 12, 2020
7bfc3bf
Replace getAs/dyn_cast with castAs/cast to fix null dereference stati…
RKSimon Mar 12, 2020
f09c7d6
[Sema][SVE] Add tests for valid and invalid type usage
rsandifo-arm Feb 21, 2020
eb2ba2e
[CUDA] Warn about unsupported CUDA SDK version only if it's used.
Artem-B Mar 11, 2020
39969c7
[Sema][SVE] Reject sizeof and alignof for sizeless types
rsandifo-arm Feb 21, 2020
627b5c1
[Sema][SVE] Reject aligned/_Alignas for sizeless types
rsandifo-arm Mar 2, 2020
adb290d
[Sema][SVE] Reject atomic sizeless types
rsandifo-arm Mar 2, 2020
bc9b6b3
[lldb/Utility] Add YAML traits for ConstString and FileSpec.
JDevlieghere Mar 12, 2020
36e018b
[mlir] Add derived attribute op interface
jpienaar Mar 11, 2020
f8700db
[Sema][SVE] Don't allow static or thread-local variables to have size…
rsandifo-arm Feb 21, 2020
30804d0
CFGDiff: Simplify and generalize over all graph types
dwblaikie Mar 11, 2020
c53c205
Cache uwnind frame headers as they are found.
Sterling-Augustine Mar 10, 2020
360aff0
[AMDGPU] Simplify nested SI_END_CF
rampitec Mar 11, 2020
eb41cc6
[clang-tidy] Add module for llvm-libc and restrict-system-libc-header…
PaulkaToast Mar 12, 2020
c52f839
Revert "[SCCP] Use ValueLatticeElement instead of LatticeVal (NFCI)"
fhahn Mar 12, 2020
814c65d
ExecutionDomainFix - fix static analyzer out of range shift warnings.
RKSimon Mar 12, 2020
336530b
CGOpenMPRuntime::emitDeclareTargetVarDefinition - fix static analyzer…
RKSimon Mar 12, 2020
adeb8c5
Replace getAs with castAs to fix null dereference static analyzer war…
RKSimon Mar 12, 2020
1ef0d66
Fix unused variable warning. NFCI.
RKSimon Mar 12, 2020
26d254f
Sink more Attr.h inline methods, NFC
rnk Mar 12, 2020
3eef589
Add a catch-all else case so any unanticipated configs pass this test.
Sterling-Augustine Mar 12, 2020
05334de
[ARM] Long shift tests. NFC
davemgreen Mar 12, 2020
fe74df0
[lldb] Specify default value for platform.module-cache-directory
tkrasnukha Mar 12, 2020
4e589e6
[WebAssembly] Fix SIMD shift unrolling to avoid assertion failure
tlively Mar 12, 2020
938c2fd
Merge from 'sycl' to 'sycl-web'
Mar 12, 2020
cb8e359
Merge from 'master' to 'sycl-web' (#6)
bader Mar 12, 2020
6174fdd
[Hexagon] Enable init_arrays when target is linux-musl
SidManning Mar 12, 2020
2a2d242
[DAGCombine] foldVSelectOfConstants - ensure constants are same type
RKSimon Mar 12, 2020
9975dc3
Defer checking for mismatches between the deletedness of and overriding
zygoloid Mar 11, 2020
e91feee
[AMDGPU] Add ISD::FSHR -> ALIGNBIT support
RKSimon Mar 12, 2020
118abf2
[SVE] Update API ConstantVector::getSplat() to use ElementCount.
huihzhang Mar 12, 2020
dc4cd43
[clangd] Add a textual fallback for go-to-definition
sam-mccall Mar 5, 2020
d184d02
[libcxx] Enable C++17 for the benchmarks.
mordante Mar 12, 2020
c0735b2
[MLIR] Update documentation for loop.reduce.
pifon2a Mar 12, 2020
9f5d9bf
[MLIR] Reformat LoopOps.td documentation.
pifon2a Mar 12, 2020
078776a
[mlir] [VectorOps] Progressively lower vector.outerproduct to LLVM
aartbik Mar 12, 2020
638b06c
[lldb/Utility] Replace ProcessInstanceInfoList with std::vector. (NFCI)
JDevlieghere Mar 12, 2020
56926a9
Revert "[libcxx] Enable C++17 for the benchmarks."
mordante Mar 12, 2020
d5f5325
[mlir][SideEffects] Mark the CFG only terminator operations as NoSide…
River707 Mar 12, 2020
483f82b
[mlir][SideEffects][NFC] Move the .td definitions for NoSideEffect/Re…
River707 Mar 12, 2020
7c211cf
[mlir][NFC] Move the definition of AffineApplyOp to ODS
River707 Mar 12, 2020
907403f
[mlir] Add a new `ConstantLike` trait to better identify operations t…
River707 Mar 12, 2020
0ddba0b
[mlir][SideEffects] Replace HasNoSideEffect with the memory effect in…
River707 Mar 12, 2020
396a42d
[mlir] Use llvm::ElementCount when constructing an llvm splat vector.
River707 Mar 12, 2020
0ce3b71
[lldb] Add YAML traits for ArchSpec and ProcessInstanceInfo
JDevlieghere Mar 12, 2020
a735286
[AMDGPU] Simplify exec copies
rampitec Mar 12, 2020
246398e
[clang][Parse] properly parse asm-qualifiers, asm inline
nickdesaulniers Mar 12, 2020
b0f1a4e
[libc++abi] NFC: Move AtomicInt to cxa_guard_impl.h
ldionne Mar 10, 2020
2411f56
[lldb/Host] Fix the Windows build
JDevlieghere Mar 12, 2020
214a9f0
[ORC] Add a mutex to guard EHFrameRegistrationPlugin data structures.
lhames Mar 12, 2020
7266a8b
[ORC] Enable exception handling in JIT'd code when using LLJIT on Dar…
lhames Mar 12, 2020
1fdb038
CodeGen: Add constexpr to Register constructors
arsenm Mar 11, 2020
ccc6e78
AMDGPU: Directly annotate functions if they have calls
arsenm Mar 11, 2020
f4f2706
[ConstantFold][SVE] Fix constant folding for scalable vector compare …
huihzhang Mar 12, 2020
dcaf13a
CFGDiff: Fix one place where I'd left BasicBlock* hardcoded
dwblaikie Mar 12, 2020
03f5f6b
[gn build] (manually) port eb41cc619866e
nico Mar 12, 2020
1478ed6
Add support for SHA256 source file checksums in debug info
arlosi Mar 12, 2020
69ce2fd
[mlir] Remove unused generator
jpienaar Mar 12, 2020
e115a40
[mlir][spirv] Use separate attribute for (version, capabilities, exte…
antiagainst Mar 11, 2020
66c378d
[mlir][spirv] Use larger range for target environment lookup function
antiagainst Mar 11, 2020
9414db1
[mlir][spirv] Add a pass to deduce version/extension/capability
antiagainst Mar 11, 2020
c818c3c
[mlir][spirv] NFC: put SPIR-V attributes in separate files
antiagainst Mar 11, 2020
3148f10
[mlir][spirv] Use spv.vce in spv.module and wire up (de)serialization
antiagainst Mar 11, 2020
2ae5e47
[mlir][spirv] Use SmallVector<ArrayRef> for availability queries
antiagainst Mar 11, 2020
e5c85a5
[mlir][spirv] Support querying type extension/capability requirements
antiagainst Mar 11, 2020
461566b
Add a test triple to avoid failure under MS ABI.
zygoloid Mar 12, 2020
af7fc8c
[lldb] Remove unused and too strict error_msg parameter from expect_expr
Teemperor Mar 12, 2020
0bb362c
[ELF] --gdb-index: fix memory usage regression after D74773
MaskRay Mar 12, 2020
4a79296
Move more tests to globalMemCounter and reset.
DanAlbert Mar 12, 2020
54d6c11
[msan] Fix srcaddr handling in recvfrom interceptor.
eugenis Mar 13, 2020
a9740ff
Update system_error tests for more platforms.
DanAlbert Mar 13, 2020
a9682cc
Convert settings list into a tuple so it can be matched by the decora…
adrian-prantl Mar 13, 2020
d4a8c3f
Revert "Update system_error tests for more platforms."
DanAlbert Mar 13, 2020
3758b85
Only run frameheader_cache_test.pass.cpp on x86_64.
Sterling-Augustine Mar 13, 2020
40f4a9f
[mlir][NFC] Removed unnecessary StandardOp includes
rsuderman Mar 13, 2020
57da8f7
Add support for XFAILing a test based on a setting.
adrian-prantl Mar 13, 2020
e601196
[NFC][DAGCombine] Move the fold of a*b-c and a-b*c into lambda function
Mar 13, 2020
8fa261c
[mlir][spirv] Remove unnecessary friend class declaration
antiagainst Mar 13, 2020
13def55
[Attributor] Enable test with update check lines
jdoerfert Feb 21, 2020
a23d728
openmp: fix memcpy memory leak
trws Mar 12, 2020
c480c58
[AVR] Include AVR by default in LLVM builds
dylanmckay Mar 12, 2020
263c4a3
Fix compiler warning when compiling without asserts
rathod-sahaab Mar 13, 2020
1c9c23d
[OpenMP][Opt][NFC] Add test case for known runtime function attributes
jdoerfert Mar 13, 2020
89ecd8c
Teach the MLIR AsmPrinter to correctly escape asm names that use inva…
Mar 10, 2020
e0a93ce
incorporate feedback from River.
Mar 13, 2020
1ba3d26
[PowerPC][NFC] Rename instruction formats in PPCInstrPrefix.td
amy-kwan Mar 13, 2020
2822852
[ELF] Correct error message when OUTPUT_FORMAT is used
smeenai Mar 12, 2020
40815a4
Revert "[Attributor] Enable test with update check lines"
jdoerfert Mar 13, 2020
a198adb
[Attributor] IPO across definition boundary of a function marked alwa…
jdoerfert Mar 13, 2020
b54e441
Merge from 'sycl' to 'sycl-web'
Mar 13, 2020
51a4c61
[X86] Add test cases for failures to form vbroadcastw due to isTypeDe…
topperc Mar 13, 2020
09c8f38
[X86] Add isel patterns for X86VBroadcast with i16 truncates from i16…
topperc Mar 13, 2020
f077a2d
Merge from 'master' to 'sycl-web' (#1)
bader Mar 13, 2020
d0fb34d
[PowerPC] Replace the PPCISD:: SExtVElems with ISD::SIGN_EXTEND_INREG…
Mar 13, 2020
48b901b
Add tests to Transforms/CodeGenPrepare/X86/freeze-cmp.ll before commi…
aqjune Mar 13, 2020
abc238a
[libunwind] Silence warnings when __mips_hard_float is not defined
mikaelholmen Mar 13, 2020
c39cb1c
[CodeGenPrepare] Expand freeze conversion to support fcmp and icmp wi…
aqjune Mar 12, 2020
ecd3e67
[clangd] Populate PreambleData::CompileCommand and make use of it ins…
kadircet Mar 11, 2020
f67d93d
[ARM] Constant long shift combines
davemgreen Mar 12, 2020
db1f40d
Modernize DeclTest
hlopko Mar 13, 2020
ce79c42
[Sema] Fix location of star ('*') inside MemberPointerTypeLoc
hlopko Mar 13, 2020
f864073
Refactor SourceLocationTest to `using namespace`
hlopko Mar 13, 2020
6f3de2e
[yaml2obj][obj2yaml][test] - Add base tests for relocation addends.
Mar 2, 2020
5c68043
[gn build] (manually) port ce79c4246
nico Mar 13, 2020
2c6c169
[ARM] Optimise ASRL/LSRL to smaller shifts using demand bits.
davemgreen Mar 13, 2020
2e77f0c
Added 'const' as suggested by ClangTidy llvm-qualified-auto
gribozavr Mar 13, 2020
0ffb12c
[HIP] Mark kernels with uniform-work-group-size=true
yxsamliu Mar 12, 2020
28ad9fc
[Clang][Driver] In -fintegrated-cc1 mode, avoid crashing on exit afte…
aganea Mar 13, 2020
a0c15ed
[AArch64][SVE] Add the @llvm.aarch64.sve.dup.x intrinsic
banach-space Mar 10, 2020
fcc2238
[SCEV] Add missing cache queries
ekatz Mar 13, 2020
512767e
Add CppCoreGuidelines I.2 "Avoid non-const global variables" check
vingeldal Mar 13, 2020
ffe3515
[ExpandMemCmp][NFC] Add more tests.
legrosbuffle Mar 13, 2020
73d8a32
[gn build] Port 512767eb3fe
llvmgnsyncbot Mar 13, 2020
86eb2c3
Revert "[ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the …
nico Mar 13, 2020
cbeffa3
[SimplifyCFG] convert if-else chain to switch; NFC
rotateright Mar 13, 2020
6bbc173
TableGen: Fix typo
arsenm Feb 14, 2020
172f146
[OPENMP]Reduce number of captured global vars.
alexey-bataev Mar 12, 2020
03993f3
[CMake] Explicitly specify paths to libc++abi in CrossWinToARMLinux.c…
broadwaylamb Mar 13, 2020
0bd3da5
[llvm-objdump][test] Reorganize ELF --syms tests
MaskRay Mar 7, 2020
e799405
[llvm-objdump] --syms: print 'i' for STT_GNU_IFUNC
MaskRay Mar 7, 2020
7b74b0d
[llvm-objdump] --syms: print 'u' for STB_GNU_UNIQUE
MaskRay Mar 7, 2020
fe047fb
[X86] LowerEXTRACT_VECTOR_ELT - pull out repeated getOperand() calls.…
RKSimon Mar 13, 2020
846c614
[X86] combineExtractWithShuffle - pull out repeated getSizeInBits() c…
RKSimon Mar 13, 2020
bf99053
[Attributor] Improve noalias preservation using reachability
Mar 13, 2020
5a5a075
[LLD][ELF][Hexagon] Support GDPLT transforms
SidManning Feb 10, 2020
b285b33
[Attributor] Detect possibly unbounded cycles in functions
omarahmed1111 Mar 13, 2020
a732529
[CodeView] Align type records on 4-bytes when emitting PDBs
aganea Mar 13, 2020
2451cbf
[lldb/Reproducers] Intercept the FindProcesses API
JDevlieghere Mar 13, 2020
69375fd
[AssumeBundles] Preserve Information in the inliner
Ralender Mar 13, 2020
2543567
[AssumeBundles] filter usefull attriutes to preserve
Ralender Mar 13, 2020
18eae33
[SCEV] Fix usage of invalid IP with FoldingSet
ekatz Mar 13, 2020
17bdb7a
[lldb/Test] Convert stdout to str by calling decode('utf-8') on it.
JDevlieghere Mar 13, 2020
ec3218d
[X86] Add cttz/ctlz tests for i686 with CMOV target
RKSimon Mar 13, 2020
a2db388
[CostModel][X86] Improve ISD::CTTZ costs accounting for BSF/TZCNT imp…
RKSimon Mar 13, 2020
3860b2a
[clang-tidy] Update Abseil Duration Conversion check to find more cases.
Mar 3, 2020
0c5b6e2
Recommit "[SCCP] Use ValueLatticeElement instead of LatticeVal (NFCI)"
fhahn Mar 13, 2020
01387c4
[lldb/Test] Temporarily skip TestReproducerAttach on Linux
JDevlieghere Mar 13, 2020
20e36f3
[lldb/Host] s/FindProcesses/FindProcessesImpl/ in windows/Host.cpp
JDevlieghere Mar 13, 2020
a26bd4e
[TableGen] Support combining AssemblerPredicates with ORs
simonpcook Mar 13, 2020
1b86ad2
Use 15 byte long nops on modern Intel processors
preames Mar 13, 2020
e30c257
[CVP,SCCP] Precommit test for D75055.
fhahn Feb 24, 2020
51e53af
[SimplifyCFG] fix debug print formatting; NFC
rotateright Mar 13, 2020
94f5d73
[SimplifyCFG] fix formatting; NFC
rotateright Mar 13, 2020
7fe0e70
[SimplifyCFG] regenerate test checks; NFC
rotateright Mar 13, 2020
afc4dce
[SimplifyCFG] regenerate complete test checks; NFC
rotateright Mar 13, 2020
842ea70
Debug Info: Store the SDK in the DICompileUnit.
adrian-prantl Mar 12, 2020
fc1f205
[SLPVectorizer][SVE] Bail out early for scalable vector.
huihzhang Mar 13, 2020
89b19e8
[SimplifyCFG] add test for chain of empty block conditional branches;…
rotateright Mar 13, 2020
a213ece
[mlir] [VectorOps,LinAlg] Remove direct LLVM lowering for vector.broa…
aartbik Mar 13, 2020
05c0d34
[X86][SSE] Prefer trunc(movd(x)) to pextrb(x,0)
RKSimon Mar 13, 2020
478b06e
Revert "[ObjC][ARC] Check the basic block size before calling Dominat…
rnk Feb 18, 2020
adefcc8
Revert "Revert "Update system_error tests for more platforms.""
DanAlbert Mar 13, 2020
b50d80c
[Sema][SVE] Don't allow fields to have sizeless type
rsandifo-arm Feb 21, 2020
14d2d8c
Allow site-specific test_exec_root.
DanAlbert Mar 13, 2020
8c5c60a
[Sema][SVE] Reject by-copy capture of sizeless types
rsandifo-arm Feb 21, 2020
994c071
[Sema][SVE] Reject arrays of sizeless types
rsandifo-arm Feb 27, 2020
32e90cb
[AMDGPU] Disable endcf collapse
rampitec Mar 13, 2020
f82b32a
Revert "Reland "[DebugInfo] Enable the debug entry values feature by …
nico Mar 13, 2020
bb86220
AMDGPU: Don't handle kernarg.segment.ptr in functions
arsenm Mar 12, 2020
f71abec
[LoopInterchange] Fix interchanging contents of preheader BBs
last5bits Mar 13, 2020
86bba6c
[Sema] Use the canonical type in function isVector
ahatanaka Mar 13, 2020
05749ac
Revert "Move more tests to globalMemCounter and reset."
DanAlbert Mar 13, 2020
015b640
AMDGPU: Add flag to used fixed function ABI
arsenm Mar 11, 2020
bbf3ef8
[mlir][Vector]Lower vector.contract to llvm.intr.matrix_multiply
Mar 13, 2020
8f540da
[COFF] Assign unique names to autogenerated .weak.<name>.default symbols
mstorsjo Mar 10, 2020
c262b69
[AMDGPU] Fix endcf collapse
rampitec Mar 13, 2020
c6f1713
[ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't
ahatanaka Mar 13, 2020
9a349d6
CMake: Turn LLVM_ENABLE_ZLIB into a tri-state option
amykhuang Mar 12, 2020
b5aaa60
Fix "unused variable" warning in NDEBUG builds.
zygoloid Mar 13, 2020
906a91a
[MCJIT] Check for RuntimeDyld errors in MCJIT::finalizeLoadedModules.
lhames Mar 13, 2020
1d192e0
[IR] Fix formatting. NFC
topperc Mar 13, 2020
431df3d
[SelectionDAGBuilder] Simplify the struct type handling in getUniform…
topperc Mar 13, 2020
42b7827
[clangd] Add json::Object->Value conversion workaround for older comp…
jkorous-apple Mar 12, 2020
e890453
[ELF] Add test for freebsd bfdname
smeenai Mar 13, 2020
b2bb8b6
[mlir] Automatically add DerivedAttribute op interface
jpienaar Mar 13, 2020
92f7e81
[mlir][Linalg] Implement padding for linalg.conv and lowering to loops.
hanhanW Mar 13, 2020
18fc42f
[mlir][LLVMIR] Add a support for boolean type arguments conversion
asaadaldien Mar 13, 2020
94f848d
Add Builder::getI64VectorAttr.
silvasean Mar 11, 2020
b3998a0
[OPENMP]Fix PR45047: Do not copy firstprivates in tasks twice.
alexey-bataev Mar 9, 2020
b7ce8fa
[LLJIT] Add std::move() as a workaround for older compilers
jkorous-apple Mar 13, 2020
ad7b930
Initialize IsFast* values
androm3da Mar 13, 2020
65fc706
[SCEV] Add support for GEPs over scalable vectors.
efriedma-quic Mar 13, 2020
b4c8608
Adjust debug output for MCRelaxableFragment to include the size so th…
preames Mar 13, 2020
aca7167
[NFC][LoopUnrollAndJam] clang-format.
Mar 14, 2020
9c5d0ea
Revert "Revert "Move more tests to globalMemCounter and reset.""
DanAlbert Mar 13, 2020
7c50454
Fix `-Wunused-variable`. NFC.
darkbuck Mar 14, 2020
755e008
[X86] Remove isel patterns for X86VBroadcast+trunc+extload. Replace w…
topperc Mar 14, 2020
44c3a63
PR45063: Fix crash on invalid processing an elaborated class template-id
zygoloid Mar 14, 2020
83cdb65
[AArch64][Fix] LdSt optimization generate premature stack-popping
Mar 13, 2020
810794c
PR44992 Don't crash when a defaulted <=> is in a class declared in a
zygoloid Mar 14, 2020
bf0cc6b
[mlir][NFC] modernize / clean up some loop transform utils, affine an…
bondhugula Mar 14, 2020
e6f1dd4
[X86] Disable nop padding before instruction following a prefix
KanRobert Mar 12, 2020
97c7be9
[llvm-dlltool] Add a testcase to show the kind of weak external used …
mstorsjo Mar 11, 2020
f47f4c1
[X86] getFauxShuffleMask - merge insertelement paths
RKSimon Mar 14, 2020
b236b4c
[yaml2obj] - Set a default value for `PAddr` property of a program he…
Mar 13, 2020
4878aa3
[ValueLattice] Add new state for undef constants.
fhahn Mar 14, 2020
0cb2f08
[X86] getFauxShuffleMask - pull out repeated byte sizes varaibles. NFC.
RKSimon Mar 14, 2020
ee862ad
Fix signed/unsigned comparison warning.
RKSimon Mar 14, 2020
04410c5
[clang-tidy] extend bugprone-signed-char-misuse check.
tzolnai Mar 14, 2020
103678d
[mlir] Fix cross compiling MLIR
isuruf Mar 14, 2020
3656558
[Hexagon] Only allow single HVX vector loads/stores in lowering
Mar 13, 2020
b8b8f04
[ValueLattice] Go to overdefined in getRange() for full ranges.
fhahn Mar 14, 2020
eda58ac
Improve the attribute language option interface somewhat; NFCi.
AaronBallman Mar 14, 2020
c9123d1
Merge from 'sycl' to 'sycl-web'
Mar 14, 2020
43959a2
[mlir][NFC] Move the LoopLike interface out of Transforms/ and into I…
River707 Mar 14, 2020
4df44c4
[mlir] Only treat "Alloc" effects as dead if they are for operation r…
River707 Mar 14, 2020
dab43c8
Remove some explicit calls to getName() when printing diagnostics; NFC
AaronBallman Mar 14, 2020
19840a3
Remove an unnecessary explicit 'WarnDiag'; NFC
AaronBallman Mar 14, 2020
1fd087d
Merge from 'master' to 'sycl-web' (#1)
bader Mar 14, 2020
633ea07
[Orc] Add basic OrcV2 C bindings and example.
lhames Mar 14, 2020
ee04339
[gn build] Port 633ea07200e
llvmgnsyncbot Mar 14, 2020
2ddfac0
[Orc][examples] Actually return MainResult from main
lhames Mar 14, 2020
f75e04b
[llvm-jitlink] Add -show-init-es option to dump initial ExecutionSess…
lhames Mar 14, 2020
b64afad
[JITLink][MachO] Treat linker private symbols as hidden rather than p…
lhames Mar 14, 2020
1ffc507
[X86] Add avx512f only command lines to the vector add/sub saturation…
topperc Mar 14, 2020
a7d187d
Revert "[JITLink][MachO] Treat linker private symbols as hidden rathe…
lhames Mar 14, 2020
2efeff6
Test commit.
tmsri Mar 15, 2020
4dfe92e
Basic Block Sections Support.
tmsri Mar 13, 2020
9c9eb60
[JITLink][MachO] Re-apply b64afadf306, MachO linker-private support, …
lhames Mar 14, 2020
981f017
[ORC] Print symbol flags and materializer name in ExecutionSession::d…
lhames Mar 15, 2020
1e66710
[JITLink][AArch64] Fix incorrect capitalization in a testcase name.
lhames Mar 15, 2020
049bb95
[ORC] Remove an undefined static method from LLJIT.
lhames Mar 15, 2020
10aa7ea
[CodeGenPrepare] Freeze condition when transforming select to br
aqjune Mar 14, 2020
27f3039
Be more strict when checking existence of foo
aqjune Mar 15, 2020
429d792
[mlir] Add support for generating dialect declarations via tablegen.
River707 Mar 15, 2020
cb7b12c
Merge from 'master' to 'sycl-web'
Mar 15, 2020
a9bcb4f
Merge from 'sycl' to 'sycl-web' (#1)
bader Mar 15, 2020
1ee3f83
Merge remote-tracking branch 'origin/sycl-web' into private/vlazarev/…
vladimirlaz Mar 16, 2020
0a2134f
Implement SPV_INTEL_io_pipes extension
MrSidims Feb 10, 2020
b93d5b3
Apply suggested assert msg change
MrSidims Mar 11, 2020
cf7b749
Allow Intel Loop Controls only with SPV_INTEL_fpga_loop_controls
MrSidims Feb 25, 2020
f45e370
[SYCL] XFAIL test on windows to unblock pulldown
vladimirlaz Mar 16, 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.
20 changes: 11 additions & 9 deletions clang-tools-extra/clang-doc/HTMLGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,9 +314,9 @@ genReference(const Reference &Type, StringRef CurrentDirectory,
else
return genLink(Type.Name, "#" + JumpToSection.getValue());
}
llvm::SmallString<128> Path =
computeRelativePath(Type.Path, CurrentDirectory);
llvm::sys::path::append(Path, Type.Name + ".html");
llvm::SmallString<64> Path = Type.getRelativeFilePath(CurrentDirectory);
llvm::sys::path::append(Path, Type.getFileBaseName() + ".html");

// Paths in HTML must be in posix-style
llvm::sys::path::native(Path, llvm::sys::path::Style::posix);
if (JumpToSection)
Expand Down Expand Up @@ -730,15 +730,17 @@ genHTML(const NamespaceInfo &I, Index &InfoIndex, const ClangDocContext &CDCtx,
if (!I.Description.empty())
Out.emplace_back(genHTML(I.Description));

llvm::SmallString<64> BasePath = I.getRelativeFilePath("");

std::vector<std::unique_ptr<TagNode>> ChildNamespaces =
genReferencesBlock(I.ChildNamespaces, "Namespaces", I.Path);
genReferencesBlock(I.ChildNamespaces, "Namespaces", BasePath);
AppendVector(std::move(ChildNamespaces), Out);
std::vector<std::unique_ptr<TagNode>> ChildRecords =
genReferencesBlock(I.ChildRecords, "Records", I.Path);
genReferencesBlock(I.ChildRecords, "Records", BasePath);
AppendVector(std::move(ChildRecords), Out);

std::vector<std::unique_ptr<TagNode>> ChildFunctions =
genFunctionsBlock(I.ChildFunctions, CDCtx, I.Path);
genFunctionsBlock(I.ChildFunctions, CDCtx, BasePath);
AppendVector(std::move(ChildFunctions), Out);
std::vector<std::unique_ptr<TagNode>> ChildEnums =
genEnumsBlock(I.ChildEnums, CDCtx);
Expand Down Expand Up @@ -860,8 +862,8 @@ llvm::Error HTMLGenerator::generateDocForInfo(Info *I, llvm::raw_ostream &OS,
"unexpected info type");
}

HTMLFile F =
genInfoFile(InfoTitle, I->Path, MainContentNodes, InfoIndex, CDCtx);
HTMLFile F = genInfoFile(InfoTitle, I->getRelativeFilePath(""),
MainContentNodes, InfoIndex, CDCtx);
F.Render(OS);

return llvm::Error::success();
Expand Down Expand Up @@ -902,7 +904,7 @@ static llvm::Error SerializeIndex(ClangDocContext &CDCtx) {
J.attribute("USR", toHex(llvm::toStringRef(I.USR)));
J.attribute("Name", I.Name);
J.attribute("RefType", getRefType(I.RefType));
J.attribute("Path", I.Path);
J.attribute("Path", I.getRelativeFilePath(""));
J.attributeArray("Children", [&] {
for (const Index &C : I.Children)
IndexToJSON(C);
Expand Down
168 changes: 143 additions & 25 deletions clang-tools-extra/clang-doc/MDGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,20 @@ static void writeHeader(const Twine &Text, unsigned int Num, raw_ostream &OS) {
OS << std::string(Num, '#') + " " + Text << "\n\n";
}

static void writeFileDefinition(const Location &L, raw_ostream &OS) {
OS << genItalic("Defined at line " + std::to_string(L.LineNumber) + " of " +
L.Filename)
<< "\n\n";
static void writeFileDefinition(const ClangDocContext &CDCtx, const Location &L,
raw_ostream &OS) {

if (!CDCtx.RepositoryUrl) {
OS << "*Defined at " << L.Filename << "#" << std::to_string(L.LineNumber)
<< "*";
} else {
OS << "*Defined at [" << L.Filename << "#" << std::to_string(L.LineNumber)
<< "](" << StringRef{CDCtx.RepositoryUrl.getValue()}
<< llvm::sys::path::relative_path(L.Filename) << "#"
<< std::to_string(L.LineNumber) << ")"
<< "*";
}
OS << "\n\n";
}

static void writeDescription(const CommentInfo &I, raw_ostream &OS) {
Expand Down Expand Up @@ -104,7 +114,18 @@ static void writeDescription(const CommentInfo &I, raw_ostream &OS) {
}
}

static void genMarkdown(const EnumInfo &I, llvm::raw_ostream &OS) {
static void writeNameLink(const StringRef &CurrentPath, const Reference &R,
llvm::raw_ostream &OS) {
llvm::SmallString<64> Path = R.getRelativeFilePath(CurrentPath);
// Paths in Markdown use POSIX separators.
llvm::sys::path::native(Path, llvm::sys::path::Style::posix);
llvm::sys::path::append(Path, llvm::sys::path::Style::posix,
R.getFileBaseName() + ".md");
OS << "[" << R.Name << "](" << Path << ")";
}

static void genMarkdown(const ClangDocContext &CDCtx, const EnumInfo &I,
llvm::raw_ostream &OS) {
if (I.Scoped)
writeLine("| enum class " + I.Name + " |", OS);
else
Expand All @@ -118,13 +139,14 @@ static void genMarkdown(const EnumInfo &I, llvm::raw_ostream &OS) {
Members << "| " << N << " |\n";
writeLine(Members.str(), OS);
if (I.DefLoc)
writeFileDefinition(I.DefLoc.getValue(), OS);
writeFileDefinition(CDCtx, I.DefLoc.getValue(), OS);

for (const auto &C : I.Description)
writeDescription(C, OS);
}

static void genMarkdown(const FunctionInfo &I, llvm::raw_ostream &OS) {
static void genMarkdown(const ClangDocContext &CDCtx, const FunctionInfo &I,
llvm::raw_ostream &OS) {
std::string Buffer;
llvm::raw_string_ostream Stream(Buffer);
bool First = true;
Expand All @@ -145,13 +167,14 @@ static void genMarkdown(const FunctionInfo &I, llvm::raw_ostream &OS) {
Stream.str() + ")"),
OS);
if (I.DefLoc)
writeFileDefinition(I.DefLoc.getValue(), OS);
writeFileDefinition(CDCtx, I.DefLoc.getValue(), OS);

for (const auto &C : I.Description)
writeDescription(C, OS);
}

static void genMarkdown(const NamespaceInfo &I, llvm::raw_ostream &OS) {
static void genMarkdown(const ClangDocContext &CDCtx, const NamespaceInfo &I,
llvm::raw_ostream &OS) {
if (I.Name == "")
writeHeader("Global Namespace", 1, OS);
else
Expand All @@ -164,36 +187,47 @@ static void genMarkdown(const NamespaceInfo &I, llvm::raw_ostream &OS) {
writeNewLine(OS);
}

llvm::SmallString<64> BasePath = I.getRelativeFilePath("");

if (!I.ChildNamespaces.empty()) {
writeHeader("Namespaces", 2, OS);
for (const auto &R : I.ChildNamespaces)
writeLine(R.Name, OS);
for (const auto &R : I.ChildNamespaces) {
OS << "* ";
writeNameLink(BasePath, R, OS);
OS << "\n";
}
writeNewLine(OS);
}

if (!I.ChildRecords.empty()) {
writeHeader("Records", 2, OS);
for (const auto &R : I.ChildRecords)
writeLine(R.Name, OS);
for (const auto &R : I.ChildRecords) {
OS << "* ";
writeNameLink(BasePath, R, OS);
OS << "\n";
}
writeNewLine(OS);
}

if (!I.ChildFunctions.empty()) {
writeHeader("Functions", 2, OS);
for (const auto &F : I.ChildFunctions)
genMarkdown(F, OS);
genMarkdown(CDCtx, F, OS);
writeNewLine(OS);
}
if (!I.ChildEnums.empty()) {
writeHeader("Enums", 2, OS);
for (const auto &E : I.ChildEnums)
genMarkdown(E, OS);
genMarkdown(CDCtx, E, OS);
writeNewLine(OS);
}
}

static void genMarkdown(const RecordInfo &I, llvm::raw_ostream &OS) {
static void genMarkdown(const ClangDocContext &CDCtx, const RecordInfo &I,
llvm::raw_ostream &OS) {
writeHeader(getTagType(I.TagType) + " " + I.Name, 1, OS);
if (I.DefLoc)
writeFileDefinition(I.DefLoc.getValue(), OS);
writeFileDefinition(CDCtx, I.DefLoc.getValue(), OS);

if (!I.Description.empty()) {
for (const auto &C : I.Description)
Expand Down Expand Up @@ -234,24 +268,94 @@ static void genMarkdown(const RecordInfo &I, llvm::raw_ostream &OS) {
if (!I.ChildFunctions.empty()) {
writeHeader("Functions", 2, OS);
for (const auto &F : I.ChildFunctions)
genMarkdown(F, OS);
genMarkdown(CDCtx, F, OS);
writeNewLine(OS);
}
if (!I.ChildEnums.empty()) {
writeHeader("Enums", 2, OS);
for (const auto &E : I.ChildEnums)
genMarkdown(E, OS);
genMarkdown(CDCtx, E, OS);
writeNewLine(OS);
}
}

static void serializeReference(llvm::raw_fd_ostream &OS, Index &I, int Level) {
// Write out the heading level starting at ##
OS << "##" << std::string(Level, '#') << " ";
writeNameLink("", I, OS);
OS << "\n";
}

static llvm::Error serializeIndex(ClangDocContext &CDCtx) {
std::error_code FileErr;
llvm::SmallString<128> FilePath;
llvm::sys::path::native(CDCtx.OutDirectory, FilePath);
llvm::sys::path::append(FilePath, "all_files.md");
llvm::raw_fd_ostream OS(FilePath, FileErr, llvm::sys::fs::OF_None);
if (FileErr)
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"error creating index file: " +
FileErr.message());

CDCtx.Idx.sort();
OS << "# All Files";
if (!CDCtx.ProjectName.empty())
OS << " for " << CDCtx.ProjectName;
OS << "\n\n";

for (auto C : CDCtx.Idx.Children)
serializeReference(OS, C, 0);

return llvm::Error::success();
}

static llvm::Error genIndex(ClangDocContext &CDCtx) {
std::error_code FileErr;
llvm::SmallString<128> FilePath;
llvm::sys::path::native(CDCtx.OutDirectory, FilePath);
llvm::sys::path::append(FilePath, "index.md");
llvm::raw_fd_ostream OS(FilePath, FileErr, llvm::sys::fs::OF_None);
if (FileErr)
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"error creating index file: " +
FileErr.message());
CDCtx.Idx.sort();
OS << "# " << CDCtx.ProjectName << " C/C++ Reference\n\n";
for (auto C : CDCtx.Idx.Children) {
if (!C.Children.empty()) {
const char *Type;
switch (C.RefType) {
case InfoType::IT_namespace:
Type = "Namespace";
break;
case InfoType::IT_record:
Type = "Type";
break;
case InfoType::IT_enum:
Type = "Enum";
break;
case InfoType::IT_function:
Type = "Function";
break;
case InfoType::IT_default:
Type = "Other";
}
OS << "* " << Type << ": [" << C.Name << "](";
if (!C.Path.empty())
OS << C.Path << "/";
OS << C.Name << ")\n";
}
}
return llvm::Error::success();
}
/// Generator for Markdown documentation.
class MDGenerator : public Generator {
public:
static const char *Format;

llvm::Error generateDocForInfo(Info *I, llvm::raw_ostream &OS,
const ClangDocContext &CDCtx) override;
llvm::Error createResources(ClangDocContext &CDCtx) override;
};

const char *MDGenerator::Format = "md";
Expand All @@ -260,16 +364,16 @@ llvm::Error MDGenerator::generateDocForInfo(Info *I, llvm::raw_ostream &OS,
const ClangDocContext &CDCtx) {
switch (I->IT) {
case InfoType::IT_namespace:
genMarkdown(*static_cast<clang::doc::NamespaceInfo *>(I), OS);
genMarkdown(CDCtx, *static_cast<clang::doc::NamespaceInfo *>(I), OS);
break;
case InfoType::IT_record:
genMarkdown(*static_cast<clang::doc::RecordInfo *>(I), OS);
genMarkdown(CDCtx, *static_cast<clang::doc::RecordInfo *>(I), OS);
break;
case InfoType::IT_enum:
genMarkdown(*static_cast<clang::doc::EnumInfo *>(I), OS);
genMarkdown(CDCtx, *static_cast<clang::doc::EnumInfo *>(I), OS);
break;
case InfoType::IT_function:
genMarkdown(*static_cast<clang::doc::FunctionInfo *>(I), OS);
genMarkdown(CDCtx, *static_cast<clang::doc::FunctionInfo *>(I), OS);
break;
case InfoType::IT_default:
return createStringError(llvm::inconvertibleErrorCode(),
Expand All @@ -278,11 +382,25 @@ llvm::Error MDGenerator::generateDocForInfo(Info *I, llvm::raw_ostream &OS,
return llvm::Error::success();
}

llvm::Error MDGenerator::createResources(ClangDocContext &CDCtx) {
// Write an all_files.md
auto Err = serializeIndex(CDCtx);
if (Err)
return Err;

// Generate the index page.
Err = genIndex(CDCtx);
if (Err)
return Err;

return llvm::Error::success();
}

static GeneratorRegistry::Add<MDGenerator> MD(MDGenerator::Format,
"Generator for MD output.");

// This anchor is used to force the linker to link in the generated object file
// and thus register the generator.
// This anchor is used to force the linker to link in the generated object
// file and thus register the generator.
volatile int MDGeneratorAnchorSource = 0;

} // namespace doc
Expand Down
46 changes: 46 additions & 0 deletions clang-tools-extra/clang-doc/Representation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,52 @@ mergeInfos(std::vector<std::unique_ptr<Info>> &Values) {
}
}

static llvm::SmallString<64>
calculateRelativeFilePath(const InfoType &Type, const StringRef &Path,
const StringRef &Name, const StringRef &CurrentPath) {
llvm::SmallString<64> FilePath;

if (CurrentPath != Path) {
// iterate back to the top
for (llvm::sys::path::const_iterator I =
llvm::sys::path::begin(CurrentPath);
I != llvm::sys::path::end(CurrentPath); ++I)
llvm::sys::path::append(FilePath, "..");
llvm::sys::path::append(FilePath, Path);
}

// Namespace references have a Path to the parent namespace, but
// the file is actually in the subdirectory for the namespace.
if (Type == doc::InfoType::IT_namespace)
llvm::sys::path::append(FilePath, Name);

return llvm::sys::path::relative_path(FilePath);
}

llvm::SmallString<64>
Reference::getRelativeFilePath(const StringRef &CurrentPath) const {
return calculateRelativeFilePath(RefType, Path, Name, CurrentPath);
}

llvm::SmallString<16> Reference::getFileBaseName() const {
if (RefType == InfoType::IT_namespace)
return llvm::SmallString<16>("index");

return Name;
}

llvm::SmallString<64>
Info::getRelativeFilePath(const StringRef &CurrentPath) const {
return calculateRelativeFilePath(IT, Path, extractName(), CurrentPath);
}

llvm::SmallString<16> Info::getFileBaseName() const {
if (IT == InfoType::IT_namespace)
return llvm::SmallString<16>("index");

return extractName();
}

bool Reference::mergeable(const Reference &Other) {
return RefType == Other.RefType && USR == Other.USR;
}
Expand Down
Loading