summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "[libc++] Take 3: Do not cleverly link against libc++abi just because ↵Louis Dionne2019-08-082-1/+24
| | | | | | | | | | | it happens to be there" This also reverts "[libc++] Remove temporary hack for D63883". Clearly, I don't understand how the Linux build bots are configured. Differential Revision: https://reviews.llvm.org/D63883 llvm-svn: 368238
* Update fix-it hints for std::move warnings.Richard Trieu2019-08-083-32/+76
| | | | | | | | | | | Fix -Wpessimizing-move and -Wredundant-move when warning on initializer lists. The new fix-it hints for removing the std::move call will now also suggest removing the braces for the initializer list so that the resulting code will still be compilable. This fixes PR42832 llvm-svn: 368237
* [llvm-lipo] Update llvm-lipo docs for -info -thin -create -replace -segalign ↵Anusha Basana2019-08-071-3/+35
| | | | | | | | | | | | | | | | | | | flags Summary: The information for -info -thin -create -replace and -segalign flags are added to llvm-lipo.rst Test Plan: Reviewers: smeenai, alexshap, compnerd, mtrent Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65676 llvm-svn: 368235
* [ScalarizeMaskedMemIntrin] Add test case for expanding scatter.Craig Topper2019-08-071-0/+64
| | | | | | | This pass expands 6 intrinsics, but we only had test for 5 of them. llvm-svn: 368234
* [Docs] Fix (incorrect) code highlightingJonas Devlieghere2019-08-071-25/+25
| | | | llvm-svn: 368233
* Recommit "[MS] Emit S_HEAPALLOCSITE debug info in Selection DAG"Amy Huang2019-08-075-80/+137
| | | | | | with a fix to clear the SDNode map when SelectionDAG is cleared. llvm-svn: 368230
* gdb-index: Wire up str_offsets section to avoid incorrect error message ↵David Blaikie2019-08-073-1/+12
| | | | | | | | | | about offsets_base There's still a need for a deeper fix to the way libDebugInfoDWARF error messages are propagated up to lld - if lld had exited non-zero on this error message we would've found the issue sooner. llvm-svn: 368229
* [Attributor][NFC] remove leftover and format codeJohannes Doerfert2019-08-071-2/+3
| | | | llvm-svn: 368228
* [Attributor][Stats] Locate statistics tracking with the attributesJohannes Doerfert2019-08-072-106/+135
| | | | | | | | | | | | | | | | | | Summary: The ever growing switch required Attribute::AttrKind values but they might not be available for all abstract attributes we deduce. With the new method we track statistics at the abstract attribute level. The provided macros simplify the usage and make the messages uniform. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65732 llvm-svn: 368227
* Adjust a ValueObjectChild's offset when the child is a bitfieldAdrian Prantl2019-08-073-0/+35
| | | | | | | | | | | | | | | | | | If a bitfield doesn't fit into the child_byte_size'd window at child_byte_offset, move the window forward until it fits. The problem here is that Value has no notion of bitfields and thus the Value's DataExtractor is sized like the bitfields CompilerType; a sequence of bitfields, however, can be larger than their underlying type. This was not in the big-endian-derived DWARF 2 bitfield attributes because their offsets were counted from the end of the window, so they always fit. rdar://problem/53132189 Differential Revision: https://reviews.llvm.org/D65492 llvm-svn: 368226
* [Attributor][NFC] Code simplification and style normalizationJohannes Doerfert2019-08-071-38/+24
| | | | llvm-svn: 368225
* [Attributor] Introduce a state wrapper classJohannes Doerfert2019-08-072-152/+81
| | | | | | | | | | | | | | | | | | | Summary: The wrapper reduces boilerplate code and also provide a nice way to determine the state type used by an abstract attributes statically via AAType::StateType. This was already discussed as part of the review of D65711. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65786 llvm-svn: 368224
* [Attributor][NFC] Avoid unnecessary liveness queriesJohannes Doerfert2019-08-071-0/+10
| | | | | | | | | If we know everything is live there is no need to query for liveness. Indicating a pessimistic fixpoint will cause the state to be "invalid" which will cause the Attributor to not return the AAIsDead on request, which will prevent us from querying isAssumedDead(). llvm-svn: 368223
* [Attributor] Provide easier checkForallReturnedValues functionalityJohannes Doerfert2019-08-074-74/+122
| | | | | | | | | | | | | | | | | | | Summary: So far, whenever one wants to look at returned values, one had to deal with the AAReturnedValues and potentially with the AAIsDead attribute. In the same spirit as other checkForAllXXX methods, we add this functionality now to the Attributor. By adopting the use sites we got better results when return instructions were dead. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65733 llvm-svn: 368222
* [llvm-readobj][test] Add baseline tests for FreeBSD/AMD/AMDGPU note printingJordan Rupprecht2019-08-073-0/+251
| | | | llvm-svn: 368221
* Add a test demonstrating DWARF parse failures are not causing lld to exit ↵David Blaikie2019-08-071-0/+30
| | | | | | | | | non-zero This bug was/is masking other issues - committing this to demonstrate the problem/track fixing it. llvm-svn: 368220
* Restrict the NetBSD ASan TSD fallback to !ASAN_DYNAMICKamil Rytarowski2019-08-071-2/+2
| | | | | | | | | | The fallback to the alternative implementation of TSD with TLS is only needed for the static version of ASan for NetBSD. The same code cannot be reused for the dynamic version of ASan as TLS breaks and TSD code works. llvm-svn: 368219
* [HWASan] Use LLD for check-hwasan.Mitch Phillips2019-08-071-1/+1
| | | | | | | | HWASan+globals build fix in rL368111 unfortunately didn't fix the problem when clang_cflags specified -fuse-ld=ld.gold. Change the order to force lld in an attempt to fix the Android sanitizer bot. llvm-svn: 368218
* Revert Added Delta IR Reduction ToolDiego Trevino Ferrer2019-08-0714-836/+0
| | | | | | This reverts r368071 (git commit a2584978f5bb41973d65a145b0d9459b81e3ac6d) llvm-svn: 368217
* [libc++] Remove temporary hack for D63883Louis Dionne2019-08-071-10/+0
| | | | | | | This should fix the build bots, who now specify explicitly that they're building against libc++abi. llvm-svn: 368216
* [LoopVectorize][X86] Clamp interleave factor if we have a known constant ↵Craig Topper2019-08-072-16/+44
| | | | | | | | | | | | trip count that is less than VF*interleave If we know the trip count, we should make sure the interleave factor won't cause the vectorized loop to exceed it. Improves one of the cases from PR42674 Differential Revision: https://reviews.llvm.org/D65896 llvm-svn: 368215
* Added Delta IR Reduction ToolDiego Trevino Ferrer2019-08-0714-0/+836
| | | | | | | | | | | | | | | | Summary: Tool parses input IR file, and runs the delta debugging algorithm to reduce the functions inside the input file. Reviewers: alexshap, chandlerc Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63672 > llvm-svn: 368071 llvm-svn: 368214
* [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
OpenPOWER on IntegriCloud