summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "Resubmit rL345008 "Split MachinePipeliner code into header and cpp ↵Stefan Granitz2019-01-032-619/+595
| | | | | | | | files"" This reverts commit r350290. llvm-svn: 350345
* Revert "[MachinePipeliner] Add missing header file to MachinePipeliner.h"Stefan Granitz2019-01-031-1/+0
| | | | | | This reverts commit r350296. llvm-svn: 350344
* [llvm-objcopy] Fix buildbots on older compilersJordan Rupprecht2019-01-032-3/+4
| | | | llvm-svn: 350343
* [MCStreamer] Use report_fatal_error in EmitRawTextImplKristina Brooks2019-01-031-7/+8
| | | | | | | | | | Use report_fatal_error in MCStreamer::EmitRawTextImpl instead of using errs() and explain the rationale behind it not being llvm_unreachable() to save confusion for any future maintainers. Differential Revision: https://reviews.llvm.org/D56245 llvm-svn: 350342
* [elfabi] Introduce tool for ELF TextAPIArmando Montanez2019-01-0315-0/+482
| | | | | | | | | | | | | | | | | | | | | | | | Follow up for D53051 This patch introduces the tool associated with the ELF implementation of TextAPI (previously llvm-tapi, renamed for better distinction). This tool will house a number of features related to enalysis and manipulation of shared object's exposed interfaces. The first major feature for this tool is support for producing binary stubs that are useful for compile-time linking of shared objects. This patch introduces beginnings of support for reading binary ELF objects to work towards that goal. Added: - elfabi tool. - support for reading architecture from a binary ELF file into an ELFStub. - Support for writing .tbe files. Differential Revision: https://reviews.llvm.org/D55352 llvm-svn: 350341
* Validate -add-plugin arguments.Nico Weber2019-01-032-1/+20
| | | | | | | | | -plugin already prints an error if the name of an unknown plugin is passed. -add-plugin used to silently ignore that, now it errors too. Differential Revision: https://reviews.llvm.org/D56273 llvm-svn: 350340
* Rename TapiTests to TextAPITestsNico Weber2019-01-031-2/+2
| | | | | | | | | This makes the target name consistent with how all the other unit tests are named. Differential Revision: https://reviews.llvm.org/D56216 llvm-svn: 350339
* [x86] add tests for buildvector with extracted element; NFCSanjay Patel2019-01-031-0/+703
| | | | llvm-svn: 350338
* Fix typos in commentsJordan Rupprecht2019-01-031-2/+2
| | | | llvm-svn: 350337
* [llvm-objcopy][ELF] Implement a mutable section visitor that updates ↵Jordan Rupprecht2019-01-033-35/+152
| | | | | | | | | | | | | | | | | | | | | size-related fields (Size, EntrySize, Align) before layout. Summary: Fix EntrySize, Size, and Align before doing layout calculation. As a side cleanup, this removes a dependence on sizeof(Elf_Sym) within BinaryReader, so we can untemplatize that. This unblocks a cleaner implementation of handling the -O<format> flag. See D53667 for a previous attempt. Actual implementation of the -O<format> flag will come in an upcoming commit, this is largely a NFC (although not _totally_ one, because alignment on binary input was actually wrong before). Reviewers: jakehehrlich, jhenderson, alexshap, espindola Reviewed By: jhenderson Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D56211 llvm-svn: 350336
* Make -Wstring-plus-int warns even if when the result is not out of boundsArnaud Bienner2019-01-033-24/+13
| | | | | | | | | | | | | | Summary: Patch by Arnaud Bienner Reviewers: sylvestre.ledru, thakis, serge-sans-paille Reviewed By: thakis Subscribers: arphaman, dyung, anemet, llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D55382 llvm-svn: 350335
* [UnrollRuntime] Add DomTree verification under debug modeAnna Thomas2019-01-031-0/+6
| | | | | | | | | | | | NFC: This adds the dom tree verification under debug mode at a point just before we start unrolling the loop. This allows us to verify dom tree at a state where it is much smaller and before the unrolling actually happens. This also implies we do not need to run -verify-dom-info everytime to see if the DT is in a valid state when we transform the loop for runtime unrolling. llvm-svn: 350334
* [OPENMP][NVPTX]Fix incompatibility of __syncthreads with LLVM, NFC.Alexey Bataev2019-01-034-6/+15
| | | | | | | | | | | | | | | | | | Summary: One of the LLVM optimizations, split critical edges, also clones tail instructions. This is a dangerous operation for __syncthreads() functions and this transformation leads to undefined behavior or incorrect results. Patch fixes this problem by replacing __syncthreads() function with the assembler instruction, which cost is too high and wich cannot be copied. Reviewers: grokos, gtbercea, kkwli0 Subscribers: guansong, openmp-commits, caomhin Differential Revision: https://reviews.llvm.org/D56274 llvm-svn: 350333
* [AArch64] Add new scheduling predicatesEvandro Menezes2019-01-031-31/+86
| | | | | | Add new scheduling predicates to identify the ASIMD loads and stores using the post indexed addressing mode. llvm-svn: 350332
* Re-disable the sanitizer_common/TestCases/Posix/getfsent.cc test. Recent ↵Kuba Mracek2019-01-031-1/+1
| | | | | | macOS versions don't have the /etc/fstab file any more so we cannot test getfsent/setfsent APIs on Darwin. llvm-svn: 350331
* De-tab a couple tests. NFCMarshall Clow2019-01-033-6/+6
| | | | llvm-svn: 350330
* [clangd] Fix detecting atomics in stand-alone buildsMichal Gorny2019-01-031-0/+5
| | | | | | | | | | | | | Include CheckAtomic CMake module from LLVM in order to detect support for atomics when building stand-alone. Otherwise, the HAVE_CXX_ATOMICS64_WITHOUT_LIB variable is undefined and clangd wrongly attempts to link -latomic on systems not using the library. Original bug report: https://bugs.gentoo.org/667016 Differential Revision: https://reviews.llvm.org/D56061 llvm-svn: 350329
* [OPENMP][NVPTX]Use __kmpc_barrier_simple_spmd(nullptr, 0) instead ofAlexey Bataev2019-01-038-63/+83
| | | | | | | | | | nvvm_barrier0. Use runtime functions instead of the direct call to the nvvm intrinsics. It allows to prevent some dangerous LLVM optimizations, that breaks the code for the NVPTX target. llvm-svn: 350328
* Python compat - no explicit reference to Python versionSerge Guelton2019-01-039-9/+9
| | | | | | | | Update documentation and shebang. Differential Revision: https://reviews.llvm.org/D56252 llvm-svn: 350327
* Python compat - iterator protocolSerge Guelton2019-01-032-14/+26
| | | | | | | | In Python2 next() is used wile it's __next__ in Python3. Differential Revision: https://reviews.llvm.org/D56250 llvm-svn: 350326
* [clangd] Move helpers from global namespace into anonymous namespace, NFC.Haojian Wu2019-01-031-22/+22
| | | | llvm-svn: 350325
* [clangd] Bump vscode-clangd v0.0.9Haojian Wu2019-01-031-1/+1
| | | | llvm-svn: 350324
* [CostModel][X86] Add truncate cost tests to cover all legal destination typesSimon Pilgrim2019-01-031-9/+137
| | | | | | We were only testing costs for legal source vector element counts llvm-svn: 350323
* [MCA] Improve code comment and reuse an helper function in ResourceManager. NFCIAndrea Di Biagio2019-01-032-15/+18
| | | | llvm-svn: 350322
* [RISCV][MC] Accept %lo and %pcrel_lo on operands to liAlex Bradbury2019-01-034-10/+50
| | | | | | This matches GNU assembler behaviour. llvm-svn: 350321
* Python compat - decode/encode stringSerge Guelton2019-01-031-1/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D56258 llvm-svn: 350320
* Portable Python script across Python versionSerge Guelton2019-01-033-3/+3
| | | | | | | | Get rid of Python version specific shebang. Differential Revision: https://reviews.llvm.org/D55207 llvm-svn: 350319
* Portable Python script across Python versionSerge Guelton2019-01-033-12/+20
| | | | | | | | StringIO is obsoleted in Python3, replaced by io.BytesIO or io.StringIO depending on the use. Differential Revision: https://reviews.llvm.org/D55196 llvm-svn: 350318
* Diagnose an unused result from a call through a function pointer whose ↵Aaron Ballman2019-01-036-33/+57
| | | | | | | | | | return type is marked [[nodiscard]]. When a function returns a type and that type was declared [[nodiscard]], we diagnose any unused results from that call as though the function were marked nodiscard. The same behavior should apply to calls through a function pointer. This addresses PR31526. llvm-svn: 350317
* Python compat - test if type is integralSerge Guelton2019-01-031-7/+9
| | | | | | | | Rely on numbers.Integral instead of int/long Differential Revision: https://reviews.llvm.org/D56262 llvm-svn: 350316
* Python compat - urllibSerge Guelton2019-01-031-2/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D56261 llvm-svn: 350315
* Python compat - has_key vs. in operatorSerge Guelton2019-01-032-18/+18
| | | | | | | | Use portable `in` operator instead of `has_key(...)` method. Differential Revision: https://reviews.llvm.org/D56260 llvm-svn: 350314
* Python compat - map/filterSerge Guelton2019-01-032-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D56259 llvm-svn: 350313
* Python compat - iteritems() vs. items()Serge Guelton2019-01-033-4/+4
| | | | | | | | Always use `items()` and introduce extra `list(...)` call when needed. Differential Revision: https://reviews.llvm.org/D56257 llvm-svn: 350312
* Python compat - portable way of raising exceptionsSerge Guelton2019-01-031-13/+13
| | | | | | Differential Revision: https://reviews.llvm.org/D56256 llvm-svn: 350311
* [NFC] Remove unused Python importSerge Guelton2019-01-031-1/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D56254 llvm-svn: 350310
* Pythran compat - range vs. xrangeSerge Guelton2019-01-0314-41/+41
| | | | | | | | | Use range instead of xrange whenever possible. The extra list creation in Python2 is generally not a performance bottleneck. Differential Revision: https://reviews.llvm.org/D56253 llvm-svn: 350309
* Python compat - assertRaisesRegexSerge Guelton2019-01-032-1/+6
| | | | | | | | Python3 uses assertRaisesRegex instad of assertRaisesRegexp. Differential Revision: https://reviews.llvm.org/D56251 llvm-svn: 350308
* Python compat - print statementSerge Guelton2019-01-0356-487/+592
| | | | | | | | | Make sure all print statements are compatible with Python 2 and Python3 using the `from __future__ import print_function` statement. Differential Revision: https://reviews.llvm.org/D56249 llvm-svn: 350307
* [clangd] Always try to build absolute pathKadir Cetinkaya2019-01-031-8/+1
| | | | | | | | | | | | | | | | | | | | Summary: This only changes behavior in cases when the file itself is a symlink. When canonicalizing paths do not look at tryGetRealPathName, which contains the resolved path for files that are symlinks. Instead first build the absolute path even if it contains some symlinks on the path. Then resolve only the symlinks on the path and leave it as it is if the file itself is a symlink. Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D56263 llvm-svn: 350306
* [NewPM] Port MsanPhilip Pfaffe2019-01-0355-130/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Keeping msan a function pass requires replacing the module level initialization: That means, don't define a ctor function which calls __msan_init, instead just declare the init function at the first access, and add that to the global ctors list. Changes: - Pull the actual sanitizer and the wrapper pass apart. - Add a newpm msan pass. The function pass inserts calls to runtime library functions, for which it inserts declarations as necessary. - Update tests. Caveats: - There is one test that I dropped, because it specifically tested the definition of the ctor. Reviewers: chandlerc, fedor.sergeev, leonardchan, vitalybuka Subscribers: sdardis, nemanjai, javed.absar, hiraditya, kbarton, bollu, atanasyan, jsji Differential Revision: https://reviews.llvm.org/D55647 llvm-svn: 350305
* [clangd] Check preceding char when completion triggers on ':' or '>'Ilya Biryukov2019-01-035-3/+210
| | | | | | | | | | | | | | | | | | Summary: Only run completion when we were trigerred on '->' and '::', otherwise send an error code in return. To avoid automatically invoking completions in cases like 'a >^' or 'a ? b :^'. Reviewers: hokein Reviewed By: hokein Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D55994 llvm-svn: 350304
* [clangd] clang-format everything. NFCIlya Biryukov2019-01-0330-359/+311
| | | | llvm-svn: 350303
* [NFC] Fix missing testfile change of rL350299Diogo N. Sampaio2019-01-031-2/+2
| | | | | | This file was missing on the patch llvm-svn: 350302
* [X86] Cleanup saturated add/sub testsSimon Pilgrim2019-01-034-745/+673
| | | | | | | Use X86/X64 check prefixes Use nounwind to reduce cfi noise llvm-svn: 350301
* [SLPVectorizer] Flag ADD/SUB SSAT/USAT intrinsics trivially vectorizable ↵Simon Pilgrim2019-01-035-1544/+304
| | | | | | | | (PR40123) Enables SLP vectorization for the SSE2 PADDS/PADDUS/PSUBS/PSUBUS style intrinsics llvm-svn: 350300
* [ARM] Add command-line option for SBDiogo N. Sampaio2019-01-0315-45/+48
| | | | | | | | | | | | | | | SB (Speculative Barrier) is only mandatory from 8.5 onwards but is optional from Armv8.0-A. This patch adds a command line option to enable SB, as it was previously only possible to enable by selecting -march=armv8.5-a. This patch also renames FeatureSpecRestrict to FeatureSB. Reviewed By: olista01, LukeCheeseman Differential Revision: https://reviews.llvm.org/D55990 llvm-svn: 350299
* PECOFF: Remove tabs introduced accidentally in r350094Pavel Labath2019-01-031-61/+61
| | | | llvm-svn: 350298
* [SLPVectorizer][X86] Add ADD/SUB SSAT/USAT tests (PR40123)Simon Pilgrim2019-01-034-0/+4056
| | | | llvm-svn: 350297
* [MachinePipeliner] Add missing header file to MachinePipeliner.hLama Saba2019-01-031-0/+1
| | | | llvm-svn: 350296
OpenPOWER on IntegriCloud