summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [MemorySSA] Use SetVector to avoid nondeterminism.Alina Sbirlea2019-07-127-9/+133
| | | | | | | | | | | | | | | | Summary: Use a SetVector for DeadBlockSet. Resolves PR42574. Reviewers: george.burgess.iv, uabelho, dblaikie Subscribers: jlebar, Prazek, mgrang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64601 llvm-svn: 365970
* NFC: utils/perf-training: Python 3 compatibility for lit.cfgAlex Lorenz2019-07-121-1/+1
| | | | | | The output of subprocess.check_output is now bytes. We need to decode it. llvm-svn: 365969
* [DirectoryWatcher][NFC] Silence warnings in release buildJan Korous2019-07-122-4/+14
| | | | llvm-svn: 365968
* [clang-doc] Fix failing tests on WindowsJulie Hockett2019-07-121-8/+23
| | | | | | | | | | | | | Tests on Windows were failing due to path separator differences. '/' was being used as separator in the expected output, paths in expected output are now changed to their native form before comparing them to the actual output. Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com). Differential Revision: https://reviews.llvm.org/D64669 llvm-svn: 365967
* [DirectoryWatcher][linux] Fix use of uninitialized valueJan Korous2019-07-121-2/+2
| | | | llvm-svn: 365966
* [WebAssembly] refactored utilities to not depend on MachineInstrWouter van Oortmerssen2019-07-1211-261/+254
| | | | | | | | | | | | | | | | Summary: Most of these functions can work for MachineInstr and MCInst equally now. Reviewers: dschuff Subscribers: MatzeB, sbc100, jgravelle-google, aheejin, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64643 llvm-svn: 365965
* [macCatalyst] Use macCatalyst pretty name in .build_version darwinAlex Lorenz2019-07-124-5/+5
| | | | | | | | | assembly command 'macCatalyst' is more readable than 'maccatalyst'. I renamed the objdump output, but the assembly should match it as well. llvm-svn: 365964
* [OpenMP] Remove OMP spec versioningJonathan Peyton2019-07-1263-7281/+170
| | | | | | | | | | Remove all older OMP spec versioning from the runtime and build system. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D64534 llvm-svn: 365963
* Remove __VERSION__Sylvestre Ledru2019-07-127-15/+12
| | | | | | | | | | | | | | | | | | | | Summary: It has been introduced in 2011 for gcc compat: https://github.com/llvm-mirror/clang/commit/ad1a4c6e89594e704775ddb6b036ac982fd68cad it is probably time to remove it Reviewers: rnk, dexonsmith Reviewed By: rnk Subscribers: dschuff, aheejin, fedor.sergeev, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64062 llvm-svn: 365962
* [test][AArch64] Relax the opcode tests for FP min/max instructions.Douglas Yung2019-07-121-6/+6
| | | | llvm-svn: 365961
* Add option to disable variant narrowing conversion changes.Eric Fiselier2019-07-128-93/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The paper P0608R3 - "A sane variant converting constructor" disallows narrowing conversions in variant. It was meant to address this surprising problem: std::variant<std::string, bool> v = "abc"; assert(v.index() == 1); // constructs a bool. However, it also disables every potentially narrowing conversion. For example: variant<unsigned> v = 0; // ill-formed variant<string, double> v2 = 42; // ill-formed (int -> double narrows) These latter changes break code. A lot of code. Within Google it broke on the order of a hundred thousand target with thousands of root causes responsible for the breakages. Of the breakages related to the narrowing restrictions, none of them exposed outstanding bugs. However, the breakages caused by boolean conversions (~13 root causes), all but one of them were bugs. For this reasons, I am adding a flag to disable the narrowing conversion changes but not the boolean conversions one. One purpose of this flag is to allow users to opt-out of breaking changes in variant until the offending code can be cleaned up. For non-trivial variant usages the amount of cleanup may be significant. This flag is also required to support automated tooling, such as clang-tidy, that can automatically fix code broken by this change. In order for clang-tidy to know the correct alternative to construct, it must know what alternative was being constructed previously, which means running it over the old version of std::variant. Because this change breaks so much code, I will be implementing the aforementioned clang-tidy check in the very near future. Additionally I'm plan present this new information to the committee so they can re-consider if this is a breaking change we want to make. I think libc++ should very seriously consider pulling this change before the 9.0 release branch is cut. But that's a separate discussion that I will start on the lists. For now this is the minimal first step. llvm-svn: 365960
* [InstCombine] Disable fold from D64285 for non-integer typesDavid Bolvansky2019-07-121-0/+2
| | | | llvm-svn: 365959
* Factor out resolveFrameOffsetReference (NFC).Evgeniy Stepanov2019-07-122-12/+26
| | | | | | | | | | | | | | | | | | | Split AArch64FrameLowering::resolveFrameIndexReference in two parts * Finding frame offset for the index. * Finding base register and offset to that register. The second part will be used to implement a virtual frame pointer in armv8.5 MTE stack instrumentation lowering. Reviewers: pcc, vitalybuka, hctim, ostannard Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64171 llvm-svn: 365958
* [builtins] Fix assembly in arm sync-ops.hNikita Popov2019-07-121-1/+1
| | | | | | | | | This assembly is part of a macro that was reformatted in D60351. The missing space between push and { results in: Error: bad instruction `push{r4, r5,r6,lr}' llvm-svn: 365957
* Revert driver: Don't warn about assembler flags being unused when not assemblingReid Kleckner2019-07-122-35/+0
| | | | | | | | | | | This reverts r365703 (git commit 101c1afdfd1c88f05da94c6fd317b489bb704f40) and r365714. This broke some autoconf-style assembler flags checks in the Linux build: https://github.com/ClangBuiltLinux/linux/issues/598 llvm-svn: 365956
* [clangd] Fix off-by-one in CodeComplete and assertion in DexSam McCall2019-07-122-4/+4
| | | | llvm-svn: 365955
* Reland [clang] DirectoryWatcherJan Korous2019-07-1211-0/+1277
| | | | | | | | | | This reverts commit f561227d133224d2d6a5a016abe4be051fa75501. - DirectoryWatcher - Fix the build for platforms that don't have DW implementated. - Fix the threading dependencies (thanks to compnerd). llvm-svn: 365954
* AMDGPU: Drop remnants of byval support for shadersMatt Arsenault2019-07-1214-40/+31
| | | | | | | | Before 2018, mesa used to use byval interchangably with inreg, which didn't really make sense. Fix tests still using it to avoid breaking in a future commit. llvm-svn: 365953
* Fix missing use of defined() in include guardDavid Tenty2019-07-121-1/+1
| | | | | | | | | | Subscribers: arsenm, jvesely, nhaehnle, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64657 llvm-svn: 365952
* [LanguageRuntime] Move CPPLanguageRuntime into a pluginAlex Langford2019-07-1213-9/+23
| | | | | | | | | | | | Summary: This seems better suited to be in a plugin. Reviewers: JDevlieghere, clayborg, jingham, compnerd, labath Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D64599 llvm-svn: 365951
* [ObjectContainerBSDArchive] Simplify a few things (NFC)Jonas Devlieghere2019-07-122-61/+70
| | | | | | Differential revision: https://reviews.llvm.org/D64661 llvm-svn: 365950
* [SystemZ] Fix addcarry of addcarry of const carry (PR42606)Nikita Popov2019-07-122-2/+49
| | | | | | | | | | | | This fixes https://bugs.llvm.org/show_bug.cgi?id=42606 by extending D64213. Instead of only checking if the carry comes from a matching operation, we now check the full chain of carries. Otherwise we might custom lower the outermost addcarry, but then generically legalize an inner addcarry. Differential Revision: https://reviews.llvm.org/D64658 llvm-svn: 365949
* Revert "Reland [clang] DirectoryWatcher"Jan Korous2019-07-1211-1277/+0
| | | | | | This reverts commit fdcb7f47e783933e0af8a5fae91132269a208268. llvm-svn: 365948
* Reland [clang] DirectoryWatcherJan Korous2019-07-1211-0/+1277
| | | | | | | | This reverts commit abce8c457dd3de6b156756e547cc0eefb7653c79. + Fix the build for platforms that don't have DW implementated. llvm-svn: 365947
* [X86] Use MachineInstr::findRegisterDefOperand to simplify some code in ↵Craig Topper2019-07-121-9/+3
| | | | | | optimizeCompareInstr. NFCI llvm-svn: 365946
* [DebugInfo] Add column info for inline sitesJonas Devlieghere2019-07-125-9/+21
| | | | | | | | | | | | The column field is missing for all inline sites, currently it's always zero. This changes populates DW_AT_call_column field for inline sites. Test case modified to cover this change. Patch by: Wenlei He Differential revision: https://reviews.llvm.org/D64033 llvm-svn: 365945
* [libcxxabi] Don't process exceptions in cxa_handlers when they're disabledPetr Hosek2019-07-123-1/+7
| | | | | | | | | | | When exceptions are disabled, avoid their processing altogether. This avoids pulling in the depenency on demangler significantly reducing binary size when statically linking against libc++abi built without exception support. Differential Revision: https://reviews.llvm.org/D64191 llvm-svn: 365944
* The variable "Latch" is only used in an assert, which makes builds that use ↵Sterling Augustine2019-07-121-2/+1
| | | | | | | | | | | | | | "-DNDEBUG" fail with unused variable messages. Summary: Move the logic into the assert itself. Subscribers: hiraditya, sanjoy, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64654 llvm-svn: 365943
* [SystemZ] Fix build bot failure after r365932Ulrich Weigand2019-07-121-2/+2
| | | | | | Insert LLVM_FALLTHROUGH to avoid compiler warning. llvm-svn: 365942
* [x86] add test for bogus cmov (PR40483); NFCSanjay Patel2019-07-121-0/+29
| | | | llvm-svn: 365941
* [AMDGPU] Extend MIMG opcode to 8 bitsStanislav Mekhanoshin2019-07-122-22/+28
| | | | | | | | This is NFC, but required for future commit. Differential Revision: https://reviews.llvm.org/D64649 llvm-svn: 365940
* [Core] Generalize ValueObject::MaybeCalculateCompleteTypeAlex Langford2019-07-124-42/+52
| | | | | | | | | | | | | | | | Summary: Instead of hardcoding ClangASTContext and ObjCLanguageRuntime, we can generalize this by creating the method GetRuntimeType in LanguageRuntime and moving the current MaybeCalculateCompleteType implementation into ObjCLanguageruntime::GetRuntimeType Reviewers: jingham, clayborg, JDevlieghere Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D64159 llvm-svn: 365939
* Addition to rL365925, removing remaining virtualsStefan Stipanovic2019-07-121-5/+5
| | | | llvm-svn: 365938
* [clang-doc] Add html links to referencesJulie Hockett2019-07-1214-170/+361
| | | | | | | | | | | | | | | | <a> tags are added for the parents and members of records and return type and params of functions. The link redirects to the reference's info file. The directory path where each info file will be saved is now generated in the serialization phase and stored as an attribute in each Info. Bitcode writer and reader were modified to handle the new attributes. Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com). Differential Revision: https://reviews.llvm.org/D63663 llvm-svn: 365937
* Slightly simplify MappedBlockStream::createIndexedStream() callsNico Weber2019-07-128-48/+31
| | | | | | | | | | | | | | | | All callers had a PDBFile object at hand, so call Pdb.createIndexedStream() instead, which pre-populates all the arguments (and returns nullptr for kInvalidStreamIndex). Also change safelyCreateIndexedStream() to only take the string index, and update callers. Make the method public and call it in two places that manually did the bounds checking before. No intended behavior change. Differential Revision: https://reviews.llvm.org/D64633 llvm-svn: 365936
* [WebAssembly] Make pthread imply bulk-memory, mutable-globalsThomas Lively2019-07-122-3/+29
| | | | | | | | | | | | | | | | | Summary: This paves the way for using passive segments in pthread builds, which will make separate memory files unnecessary. Mutable globals are also necessary for the upcoming implementation of TLS. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64586 llvm-svn: 365935
* Add explicit newline at end of `llvm-pdbutil dump`Nico Weber2019-07-121-0/+2
| | | | | | All dump modes I checked didn't print a trailing newline, so add one. llvm-svn: 365934
* [SystemZ] Add support for new cpu architecture - arch13Ulrich Weigand2019-07-1218-4/+1214
| | | | | | | | | | | | | | | | | This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Support for low-level builtins mapped to new LLVM intrinsics. - New high-level intrinsics in vecintrin.h. - Indicate support by defining __VEC__ == 10303. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name. llvm-svn: 365933
* [SystemZ] Add support for new cpu architecture - arch13Ulrich Weigand2019-07-1247-73/+9009
| | | | | | | | | | | | | | | | | | This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Assembler/disassembler support for new instructions. - CodeGen for new instructions, including new LLVM intrinsics. - Scheduler description for the new processor. - Detection of arch13 as host processor. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name. llvm-svn: 365932
* Remove unused methods in Sancov.Leonard Chan2019-07-121-27/+6
| | | | llvm-svn: 365931
* [WebAssembly] i32.const operands should be signedThomas Lively2019-07-122-13/+24
| | | | | | | | | | | | | | | | Summary: This was causing large addresses to be emitted as negative numbers, which rightfully caused crashes in binaryen. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64612 llvm-svn: 365930
* [X86] Add NEG to isUseDefConvertible.Craig Topper2019-07-121-0/+5
| | | | | | | | | | | | | We can use the C flag from NEG to detect that the input was zero. Really we could probably use the Z flag too. But C matches what we'd do for usubo 0, X. Haven't found a test case for this due to the usubo formation in CGP. But I verified if I comment out the CGP code this transformation catches some of the same cases. llvm-svn: 365929
* [X86][AVX] Add PR34359 shuffle test case.Simon Pilgrim2019-07-121-0/+12
| | | | llvm-svn: 365926
* [Attributor] Removing unnecessary `virtual` keywords.Stefan Stipanovic2019-07-122-15/+15
| | | | | | | | | | | | | Some function in the Attributor framework are unnecessarily marked virtual. This patch removes virtual keyword Reviewers: jdoerfert Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D64637 llvm-svn: 365925
* [Attributor] Deduce "nofree" function attributeHideto Ueno2019-07-126-82/+228
| | | | | | | | | | | | | | | | Summary: Deduce "nofree" function attribute. A more concise description of "nofree" is on D49165. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: homerdin, hfinkel, lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62687 llvm-svn: 365924
* [libc++] Add XFAILs for CTAD tests on older compilersLouis Dionne2019-07-122-0/+2
| | | | llvm-svn: 365923
* Revert [clang-shlib] Fix clang-shlib for PRIVATE dependenciesShoaib Meenai2019-07-121-29/+2
| | | | | | | | This reverts r365825 (git commit 3173c60f96c3ccfc17d403a192ae58e720153c23) This is breaking BUILD_SHARED_LIBS=ON builds. Reverting while I rethink it. llvm-svn: 365922
* CodeGet: Init 32bit pointers with 0xFFFFFFFFVitaly Buka2019-07-122-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Patch makes D63967 effective for 32bit platforms and improves pattern initialization there. It cuts size of 32bit binary compiled with -ftrivial-auto-var-init=pattern by 2% (3% with -Os). Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options) ``` master patch diff Os pattern 7.915580e+05 7.698424e+05 -0.028387 O3 pattern 9.953688e+05 9.752952e+05 -0.019325 ``` Zero vs Pattern on master ``` zero pattern diff Os 7.689712e+05 7.915580e+05 0.031380 O3 9.744796e+05 9.953688e+05 0.021133 ``` Zero vs Pattern with the patch ``` zero pattern diff Os 7.689712e+05 7.698424e+05 0.000789 O3 9.744796e+05 9.752952e+05 0.000742 ``` Reviewers: pcc, eugenis, glider, jfb Reviewed By: jfb Subscribers: hubert.reinterpretcast, dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64597 llvm-svn: 365921
* [IndVars] Use exit count reasoning to discharge obviously untaken exitsPhilip Reames2019-07-122-24/+113
| | | | | | | | | | Continue in the spirit of D63618, and use exit count reasoning to prove away loop exits which can not be taken since the backedge taken count of the loop as a whole is provably less than the minimal BE count required to take this particular loop exit. As demonstrated in the newly added tests, this triggers in a number of cases where IndVars was previously unable to discharge obviously redundant exit tests. And some not so obvious ones. Differential Revision: https://reviews.llvm.org/D63733 llvm-svn: 365920
* Dump actual line numbers when dumping the AST to JSON.Aaron Ballman2019-07-123-13/+169
| | | | | | The "line" attribute is now the physical line within the source file for the location. A "presumedLine" attribute is printed when the presumed line number does not match the given source line number. We continue to not print repeated line information in subsequent source locations, but we track presumed and actual lines separately. llvm-svn: 365919
OpenPOWER on IntegriCloud