summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [libc++] Take 3: Do not cleverly link against libc++abi just because it ↵Louis Dionne2019-08-072-14/+1
| | | | | | | | | | | | | | | | | | | | | | | happens to be there Summary: Otherwise, when libcxxabi is not an enabled project in the monorepo, we get a link error because we try to link against non-existent cxxabi_shared. More generally, we shouldn't change the behavior of the build based on implicit things like whether a file happens to be at a specific path or not. This is a re-application of r365222 that had been reverted in r365233 and then r365359 because it broke the build bots. The build bots should now specify explicitly what ABI library they want to use (libc++abi), so this commit should now be OK to merge. It takes a while for build bots to pick up configuration changes, which is why this failed the last time around. Differential Revision: https://reviews.llvm.org/D63883 llvm-svn: 368213
* DebugInfo/DWARF: Remove unused return type from DWARFUnit::extractDIEsIfNeededDavid Blaikie2019-08-072-66/+65
| | | | llvm-svn: 368212
* [NFC][LICM] Pre-commit test for unary FNeg support in LICM.Cameron McInally2019-08-071-0/+23
| | | | llvm-svn: 368211
* [X86] Allow pack instructions to be used for 512->256 truncates when ↵Craig Topper2019-08-072-22/+22
| | | | | | | | | | -mprefer-vector-width=256 is causing 512-bit vectors to be split If we're splitting the 512-bit vector anyway and we have zero/sign bits, then we might as well use pack instructions to concat and truncate at once. Differential Revision: https://reviews.llvm.org/D65904 llvm-svn: 368210
* [clang-doc] Add second index for sections within info's contentDiego Astiazaran2019-08-073-27/+179
| | | | | | | | | | | | This new index contains links to the main section of infos: Namespaces, Records, Functions, Enums, Members. Also to each child function or enum. Index is currently rendered on top of the info content, this will be fixed later with CSS. Depends on D65690. Differential Revision: https://reviews.llvm.org/D65030 llvm-svn: 368209
* [CommandObject] Remove unused functionJonas Devlieghere2019-08-071-2/+0
| | | | llvm-svn: 368208
* [X86] Add test cases for missed opportunities to use pack instructions for ↵Craig Topper2019-08-071-0/+90
| | | | | | | | | 512->256 truncates with prefer-vector-width=256 If the 512-bit vectors are going to be split anyway, then we are better off using pack to implicitly concatenate the 256 bit pieces. llvm-svn: 368207
* [clang-doc] Parallelize reducing phaseDiego Astiazaran2019-08-071-52/+63
| | | | | | | | | | | Reduce phase has been parallelized and a execution time was reduced by 60% with this. The reading of bitcode (bitcode -> Info) was moved to this segment of code parallelized so it now happens just before reducing. Differential Revision: https://reviews.llvm.org/D65628 llvm-svn: 368206
* [Symbol] Remove commented out code from CompileUnitAlex Langford2019-08-071-43/+0
| | | | llvm-svn: 368205
* Revert r367501 "Create unique, but identically-named ELF sections..."Bob Haarman2019-08-073-94/+8
| | | | | | | | | | | | This reverts commit fbc563e2cb6c5f1d0200b390513506b6aca4d2e9 "Create unique, but identically-named ELF sections for explicitly-sectioned functions and globals when using -function-sections and -data-sections." Reason for revert: sections are created with potentially wrong attributes. llvm-svn: 368204
* [pstl] Make sure we install all of PSTL's include/ directoryLouis Dionne2019-08-071-1/+1
| | | | | | We want to install files directly in include/, not only in include/pstl. llvm-svn: 368203
* Add target requirements for those bots which don't handle x86.Bill Wendling2019-08-071-0/+1
| | | | llvm-svn: 368202
* [NFC] Fixed newly added testsDavid Bolvansky2019-08-071-6/+9
| | | | llvm-svn: 368201
* [NFC] Added tests for x/fabs(X) foldDavid Bolvansky2019-08-071-0/+75
| | | | llvm-svn: 368200
* Add support for deterministically linked binaries on macOS to lldb.Nico Weber2019-08-072-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When ld64 links a binary deterministically using the flag ZERO_AR_DATE, it sets a timestamp of 0 for N_OSO members in the symtab section, rather than the usual last modified date of the object file. Prior to this patch, lldb would compare the timestamp from the N_OSO member against the last modified date of the object file, and skip loading the object file if there was a mismatch. This patch updates the logic to ignore the timestamp check if the N_OSO member has timestamp 0. The original logic was added in https://reviews.llvm.org/rL181631 as a safety check to avoid problems when debugging if the object file was out of date. This was prior to the introduction of deterministic build in ld64. lld still doesn't support deterministic build. Other code in llvm already relies on and uses the assumption that a timestamp of 0 means deterministic build. For example, commit 9ccfddc39d4d27f9b16fcc72ab30d483151d6d08 adds similar timestamp checking logic to dsymutil, but special cases timestamp 0. Likewise, commit 0d1bb79a0413f221432a7b1d0d2d10c84c4bbb99 adds a long comment describing deterministic archive, which mostly uses timestamp 0 for determinism. Patch from Erik Chen <erikchen@chromium.org>! Differential Revision: https://reviews.llvm.org/D65826 llvm-svn: 368199
* Fix indentationDavid Blaikie2019-08-071-1/+1
| | | | llvm-svn: 368198
* [LoopVectorize][X86] Add test case for missed vectorization from PR42674.Craig Topper2019-08-071-0/+41
| | | | | | | We do end vectorizing the code, but use an interleave factor that is too high and causes the vector code to be dead. llvm-svn: 368197
* [Tooling] Expose ExecutorConcurrency option.Diego Astiazaran2019-08-072-1/+2
| | | | | | | | D65628 requires a flag to specify the number of threads for a clang-doc step. It would be good to use ExecutorConcurrency after exposing it instead of creating a new one that has the same purpose. Differential Revision: https://reviews.llvm.org/D65833 llvm-svn: 368196
* [ValueTracking] When calculating known bits for integer abs, make sure we're ↵Craig Topper2019-08-072-5/+12
| | | | | | | | | | | | | | | looking at a negate and not just any instruction with the nsw flag set. The matchSelectPattern code can match patterns like (x >= 0) ? x : -x for absolute value. But it can also match ((x-y) >= 0) ? (x-y) : (y-x). If the latter form was matched we can only use the nsw flag if its set on both subtracts. This match makes sure we're looking at the former case only. Differential Revision: https://reviews.llvm.org/D65692 llvm-svn: 368195
* [Attributor] Introduce checkForAllReadWriteInstructions(...).Stefan Stipanovic2019-08-072-19/+44
| | | | | | | | | | | | | | Summary: Similarly to D65731 `Attributor::checkForAllReadWriteInstructions` is introduced. Reviewers: jdoerfert, uenoku Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65825 llvm-svn: 368194
* [SCEV] Return zero from computeConstantDifference(X, X)Nikolai Bozhenov2019-08-073-2/+74
| | | | | | | | | | | | Without this patch computeConstantDifference returns None for cases like these: computeConstantDifference(%x, %x) computeConstantDifference({%x,+,16}, {%x,+,16}) Differential Revision: https://reviews.llvm.org/D65474 llvm-svn: 368193
* [OpenMP][libomptarget] Add support for unified memory for regular mapsGheorghe-Teodor Bercea2019-08-077-47/+383
| | | | | | | | | | | | | | | | | | | Summary: This patch adds support for using unified memory in the case of regular maps that happen when a target region is offloaded to the device. For cases where only a single version of the data is required then the host address can be used. When variables need to be privatized in any way or globalized, then the copy to the device is still required for correctness. Reviewers: ABataev, jdoerfert, Hahnfeld, AlexEichenberger, caomhin, grokos Reviewed By: Hahnfeld Subscribers: mgorny, guansong, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65001 llvm-svn: 368192
* [DataLayout] Check StackNatural and FunctionPtr alignments.Florian Hahn2019-08-075-2/+23
| | | | | | | | | | | | | | | | MaybeAlignment asserts that the passed in value is == 0 or a power of 2. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16272 Reviewers: michaelplatings, gchatelet, jakehehrlich, jfb Reviewed By: gchatelet Tags: #llvm Differential Revision: https://reviews.llvm.org/D65858 llvm-svn: 368191
* API update for change to LLVM's lib/DebugInfo/DWARFDavid Blaikie2019-08-073-21/+21
| | | | llvm-svn: 368190
* DebugInfo/DWARF: Normalize DWARFObject members on the DWARF spec section namesDavid Blaikie2019-08-079-131/+131
| | | | | | | | | Some of these names were abbreviated, some were not, some pluralised, some not. Made the API difficult to use - since it's an exact 1:1 mapping to the DWARF sections - use those names (changing underscore separation for camel casing). llvm-svn: 368189
* [clang][NFC] Fix typo in matcher commentYitzhak Mandelbaum2019-08-072-2/+2
| | | | | | Also updates corresponding html doc. llvm-svn: 368188
* Support: Remove needless allocation when getMainExecutable() calls readlink()Nico Weber2019-08-071-4/+4
| | | | | | | | | | | | We built a StringRef from a string literal which we then converted to a std::string to call c_str(). Just use a pointer to the string literal instead of a StringRef. No behavior change. Differential Revision: https://reviews.llvm.org/D65890 llvm-svn: 368187
* Code completion should not ignore default parameters in functions.Sam McCall2019-08-073-0/+61
| | | | | | | | | | | | | | | | | | | | Summary: Inorder to display the default arguments we must process the CK_Optional chunks of CodeCompletionString while creating the Signature. We do not create placeholders for default arguments. Reviewers: sammccall Reviewed By: sammccall Subscribers: jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65866 llvm-svn: 368186
* Recommit r368081 "[X86] Add more extract subvector cost model tests for ↵Craig Topper2019-08-071-7/+488
| | | | | | smaller element sizes and smaller than 128-bit vectors." llvm-svn: 368185
* Recommit r368079 "[X86] Remove uses of the ↵Craig Topper2019-08-0740-64063/+139
| | | | | | -x86-experimental-vector-widening-legalization flag from test/CodeGen/X86/" llvm-svn: 368184
* Recommit r367901 "[X86] Enable ↵Craig Topper2019-08-07196-19252/+14662
| | | | | | | | | | | | | | | | | | | | | | | | | | | -x86-experimental-vector-widening-legalization by default." The assert that caused this to be reverted should be fixed now. Original commit message: This patch changes our defualt legalization behavior for 16, 32, and 64 bit vectors with i8/i16/i32/i64 scalar types from promotion to widening. For example, v8i8 will now be widened to v16i8 instead of promoted to v8i16. This keeps the elements widths the same and pads with undef elements. We believe this is a better legalization strategy. But it carries some issues due to the fragmented vector ISA. For example, i8 shifts and multiplies get widened and then later have to be promoted/split into vXi16 vectors. This has the potential to cause regressions so we wanted to get it in early in the 10.0 cycle so we have plenty of time to address them. Next steps will be to merge tests that explicitly test the command line option. And then we can remove the option and its associated code. llvm-svn: 368183
* [Driver] Expand the executable path in the target create outputJonas Devlieghere2019-08-072-1/+9
| | | | | | | | | | | | | | | | | | Resolve the path in the target create output. This is nice when passing relative paths to the lldb command line driver. $ lldb ./binary (lldb) target create "./binary" Current executable set to '/absolute/path/to/binary' (x86_64). This change only affects the target create output and does not change the debugger's behavior. It doesn't resolve symbolic links so it won't cause confusing when debugging something like clang++ that's symlinked to clang. Differential revision: https://reviews.llvm.org/D65611 llvm-svn: 368182
* [ExecutionContext] Return the target/process byte order.Jonas Devlieghere2019-08-073-4/+126
| | | | | | | | | | | | | Currently ExecutionContext::GetByteOrder() always returns the host byte order. This seems like a simple mistake: the return keyword appears to have been omitted by accident. This patch fixes that and adds a unit test. Bugreport: https://llvm.org/PR37950 Differential revision: https://reviews.llvm.org/D48704 llvm-svn: 368181
* [ARM] Expand CTPOP intrinsic for MVEOliver Cruickshank2019-08-072-0/+152
| | | | llvm-svn: 368180
* gn build: Merge r368158Nico Weber2019-08-071-1/+0
| | | | llvm-svn: 368179
* gn build: Merge r368119Nico Weber2019-08-073-8/+9
| | | | llvm-svn: 368178
* Use forceinline. Necessary for nvcc to inline small functions within the ↵Jon Chesterfield2019-08-071-1/+1
| | | | | | | | | | | | | | | | | | bitcode library Summary: [libomptarget] Use forceinline. Necessary for nvcc to inline small functions within the bitcode library Suggested in D65836 Reviewers: ABataev, jdoerfert, grokos, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65876 llvm-svn: 368177
* [InstCombine] Add a TODO commentJay Foad2019-08-071-0/+1
| | | | llvm-svn: 368176
* [InstCombine] Propagate fast math flags through selectsJay Foad2019-08-072-15/+12
| | | | | | | | | | | | | | | | | Summary: In SimplifySelectsFeedingBinaryOp, propagate fast math flags from the outer op into both arms of the new select, to take advantage of simplifications that require fast math flags. Reviewers: mcberg2017, majnemer, spatel, arsenm, xbolva00 Subscribers: wdng, javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65658 llvm-svn: 368175
* [UpdateTestChecks] Update tests optionDavid Bolvansky2019-08-076-57/+129
| | | | | | | | | | | | | | | | | | | | | Summary: Port of new feature introduced https://reviews.llvm.org/D65610 to other update scripts. - update_*_checks.py: add an alias -u for --update-only - port --update-only to other update_*_test_checks.py scripts - update script aborts if the test file was generated by another update_*_test_checks.py utility Reviewers: lebedev.ri, RKSimon, MaskRay, reames, gbedwell Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65793 llvm-svn: 368174
* Remove LLVM mutexes from clang in favor of std::mutexBenjamin Kramer2019-08-075-11/+7
| | | | | | | None of those need to be recursive mutexes. No functionality change intended. llvm-svn: 368173
* [OPENMP]Set default version to OpenMP 4.5.Alexey Bataev2019-08-074-10/+13
| | | | | | | Since clang fully supports OpenMP 4.5, set the default version to 4.5 instead of 3.1. llvm-svn: 368172
* [EarlyCSE] Add support for unary FNeg to EarlyCSECameron McInally2019-08-072-9/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D65815 llvm-svn: 368171
* [OPENMP]Add standard macro value _OPENMP for OpenMP 5.0.Alexey Bataev2019-08-073-0/+7
| | | | | | | | | According to the OpenMP standard, compiler must define _OPENMP macro, which has value in format yyyymm, where yyyy is the year of the standard and mm is the month of the standard. For OpenMP 5.0 this value must be set to 201811. llvm-svn: 368170
* Try to fix windows build bots after r368153.Igor Kudrin2019-08-071-2/+2
| | | | llvm-svn: 368169
* ProcessElfCore: Remove linux and freebsd NT_*** constantsPavel Labath2019-08-072-46/+21
| | | | | | | These are already defined in llvm/BinaryFormat/ELF.h. Leaving the NetBSD and OpenBSD constants as-is, as they have no llvm counterparts. llvm-svn: 368168
* [RISCV][NFC] Document RISC-V-specific assembly constraintsSam Elliott2019-08-071-0/+11
| | | | llvm-svn: 368167
* GlobalISel: factor common code from translateCall and translateInvoke. NFC.Tim Northover2019-08-072-52/+38
| | | | llvm-svn: 368166
* [X86] EltsFromConsecutiveLoads - early out for non-byte sized memory (PR42909)Simon Pilgrim2019-08-072-0/+24
| | | | | | Don't attempt to merge loads for types that aren't modulo 8-bits. llvm-svn: 368165
* [AArch64][WinCFI] Do not pair callee-save instructions in LoadStoreOptimizerSander de Smalen2019-08-074-6/+26
| | | | | | | | | | | | | | | Prevent the LoadStoreOptimizer from pairing any load/store instructions with instructions from the prologue/epilogue if the CFI information has encoded the operations as separate instructions. This would otherwise lead to a mismatch of the actual prologue size from the size as recorded in the Windows CFI. Reviewers: efriedma, mstorsjo, ssijaric Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D65817 llvm-svn: 368164
OpenPOWER on IntegriCloud