summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* [ASTImporter] Do not import FunctionTemplateDecl in record twice.Balazs Keri2019-08-072-2/+58
| | | | | | | | | | | | | | | | | | | | | Summary: For functions there is a check to not duplicate the declaration if it is in a record (class). For function templates there was no similar check, if a template (in the same class) was imported multiple times the FunctionTemplateDecl was created multiple times with the same templated FunctionDecl. This can result in problems with the declaration chain. Reviewers: martong, a.sidorin, shafik, a_sidorin Reviewed By: a_sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65203 llvm-svn: 368163
* [mips] Make a couple of class methods plain static functions. NFCSimon Atanasyan2019-08-072-12/+9
| | | | llvm-svn: 368162
* [mips] Use isMicroMips() function to check enabled feature flag. NFCSimon Atanasyan2019-08-071-2/+1
| | | | llvm-svn: 368161
* [Mips] Instruction `sc` now accepts symbol as an argumentSimon Atanasyan2019-08-074-29/+187
| | | | | | | | | | | | | Function MipsAsmParser::expandMemInst() did not properly handle instruction `sc` with a symbol as an argument because first argument would be counted twice. We add additional checks and handle this case separately. Patch by Mirko Brkusanin. Differential Revision: https://reviews.llvm.org/D64252 llvm-svn: 368160
* ObjectFileELF: Remove NT_*** constantsPavel Labath2019-08-071-36/+1
| | | | | | | llvm now has definitions of those in BinaryFormat/ELF.h. Use those instead. llvm-svn: 368159
* [Support] Base SmartMutex on std::recursive_mutexBenjamin Kramer2019-08-075-315/+12
| | | | | | | | | | | - Remove support for non-recursive mutexes. This was unused. - The std::recursive_mutex is now created/destroyed unconditionally. Locking is still only done if threading is enabled. - Alias SmartScopedLock to std::lock_guard. This should make no semantic difference on the existing APIs. llvm-svn: 368158
* Replace non-recursive sys::Mutex users with std::mutexBenjamin Kramer2019-08-074-13/+11
| | | | | | | Also remove a use of sys::MutexImpl, that's just evil. No functionality change intended. llvm-svn: 368157
* Remove support for 32-bit offsets in utility classes (5/5)Igor Kudrin2019-08-078-212/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D65641 llvm-svn: 368156
* [TargetLowering] SimplifyDemandedBits - call SimplifyMultipleUseDemandedBits ↵Simon Pilgrim2019-08-0718-598/+570
| | | | | | | | for ISD::VECTOR_SHUFFLE In particular this helps the SSE vector shift cvttps2dq+add+shl pattern by avoiding the need for zeros in shuffle style extensions to vXi32 types as we'll be shifting out those bits anyway llvm-svn: 368155
* A more robust way of testing debug_line parser near the end of modulePavel Labath2019-08-072-3/+28
| | | | | | | | | | | | | | | | | | Summary: While removing -z separate-code makes lld produce place the code at the end of a segment right now, it's possible that future changes to the linker will change that, thereby removing the coverage for the changes in r367983. This patch adds a linker script to one of the line table tests, which ensures that the code (and its line table) will be placed at the very end of a module. Reviewers: MaskRay Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D65789 llvm-svn: 368154
* [ELF] Fix splitting messages for duplicate symbols.Igor Kudrin2019-08-072-2/+41
| | | | | | | | | D65213 (rL367536) does not work for the case when a source file path includes subdirectories. Differential Revision: https://reviews.llvm.org/D65810 llvm-svn: 368153
* [clang] Fix mismatched args constructing AddressSpaceAttr.Anton Bikineev2019-08-072-3/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D65589 llvm-svn: 368152
OpenPOWER on IntegriCloud