summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [clang-format] Add TextProto language name, NFCKrasimir Georgiev2017-07-061-0/+2
| | | | llvm-svn: 307264
* Doxygen formatting. NFCIJoel Jones2017-07-061-2/+12
| | | | llvm-svn: 307263
* [x86] fix over-specified triple and auto-generate checks; NFCSanjay Patel2017-07-061-17/+25
| | | | llvm-svn: 307262
* [clang-format] Add space between a message field key and the opening bracket ↵Krasimir Georgiev2017-07-063-47/+48
| | | | | | | | | | | | | | | | | | in proto messages Summary: This patch updates the formatting of message fields of type `a{...}` to `a {...}` for proto messages. Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D35015 llvm-svn: 307261
* [Polly] [PPCGCodeGeneration] Teach `must_kills` to kill scalars that are ↵Siddharth Bhat2017-07-063-9/+117
| | | | | | | | | | | | | | local to the scop. - By definition, we can pass something as a `kill` to PPCG if we know that no data can flow across a kill. - This is useful for more complex examples where we have scalars that are local to a scop. - If the local is only used within a scop, we are free to kill it. Differential Revision: https://reviews.llvm.org/D35045 llvm-svn: 307260
* [MachineVerifier] Add check that tied physregs aren't different.Mikael Holmen2017-07-062-0/+30
| | | | | | | | | | | | | | | | Summary: Added MachineVerifier code to check register ties more thoroughly, especially so that physical registers that are tied are the same. This may help e.g. when creating MIR files. Original patch by Jesper Antonsson Reviewers: stoklund, sanjoy, qcolombet Reviewed By: qcolombet Subscribers: qcolombet, llvm-commits Differential Revision: https://reviews.llvm.org/D34394 llvm-svn: 307259
* Fixes to Dockerfile scripts.Ilya Biryukov2017-07-061-4/+7
| | | | | | | | | | | - Put buildfiles into /tmp/clang-build/build, instead of /tmp/clang-build. We checkout the sources to /tmp/clang-build/src and running cmake in /tmp/clang-build was done by mistake. - Don't add an extra ';' at the start of enabled projects list. It worked either way, but looked strange. - Minor comment update. llvm-svn: 307258
* [X86][SSE] combineX86ShuffleChain - merge duplicate creations of integer ↵Simon Pilgrim2017-07-061-20/+12
| | | | | | mask types llvm-svn: 307257
* Made a script to build docker images easier to use.Ilya Biryukov2017-07-062-16/+46
| | | | | | | | | | | | | | | | | | Summary: - Removed double indirection via command-line args (i.e. two `--` options of `build_docker_image.sh`). - Added a comment on how to build 2-stage clang install into the `build_docker_image.sh`, it used to be only in the `docs/Docker.rst`. Reviewers: klimek, mehdi_amini Reviewed By: klimek Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35050 llvm-svn: 307256
* [X86][SSE] combineX86ShuffleChain - merge duplicate 'Zeroable' element masksSimon Pilgrim2017-07-061-20/+12
| | | | llvm-svn: 307255
* [X86][SSE4A] Add support for shuffle combining to EXTRQ.Simon Pilgrim2017-07-062-25/+40
| | | | llvm-svn: 307254
* Fix a copy-paste error in r307161Pavel Labath2017-07-061-2/+2
| | | | llvm-svn: 307253
* Revert "Android.rules: build x86 tests with -mstackrealign"Pavel Labath2017-07-062-6/+0
| | | | | | | | | | | Starting with android ndk r15, clang much more tests are affected by the -mstackrealign bugl (now nearly all functions are affected, and not just the ones requiring 16-byte alignment). Due to their numbers, Xfailing all of them is not a viable option, so we will just have to declare this configuration unsupported, and wait until ndk ships a clang version that has this bug fixed. llvm-svn: 307252
* [X86][SSE4A] Add scheduling tests for SSE4A instructionsSimon Pilgrim2017-07-061-0/+95
| | | | llvm-svn: 307251
* [X86][SSE4A] Split EXTRQ/INSERTQ shuffle matching from lowering. NFCI.Simon Pilgrim2017-07-061-99/+112
| | | | | | First step toward supporting shuffle combining to EXTRQ/INSERTQ. llvm-svn: 307250
* Revert "Revert "Revert "[IndVars] Canonicalize comparisons between ↵Max Kazantsev2017-07-065-62/+6
| | | | | | | | | non-negative values and indvars""" It appears that the problem is still there. Needs more analysis to understand why SaturatedMultiply test fails. llvm-svn: 307249
* [globalisel][tablegen] Rename and re-comment render functions to match the ↵Daniel Sanders2017-07-061-7/+7
| | | | | | | | | | new MatchTables. NFC. The conversion to MatchTable left the function names and comments referring to C++ statements and expressions. Updated the names and comments to account for the fact that they're no longer unconstrained statements/expressions. llvm-svn: 307248
* [RegisterCoalescer] Fix for SubRange join unreachableDavid Stuttard2017-07-062-0/+190
| | | | | | | | | | | | | | | | Summary: During remat, some subranges might end up having invalid segments which caused problems for later coalescing. Added in a check to remove segments that are invalidated as part of the remat. See http://llvm.org/PR33524 Subscribers: MatzeB, qcolombet Differential Revision: https://reviews.llvm.org/D34391 llvm-svn: 307247
* [globalisel][tablegen] Rename and re-comment to match the new MatchTables. NFC.Daniel Sanders2017-07-061-46/+47
| | | | | | | | The conversion to MatchTable left the function names and comments referring to C++ statements and expressions. Updated the names and comments to account for the fact that they're no longer unconstrained statements/expressions. llvm-svn: 307246
* [ARM] GlobalISel: Map s32 G_FCMP in reg bank selectDiana Picus2017-07-062-0/+43
| | | | | | Map hard G_FCMP operands to FPR and the result to GPR. llvm-svn: 307245
* Revert "Revert "[IndVars] Canonicalize comparisons between non-negative ↵Max Kazantsev2017-07-065-6/+62
| | | | | | | | | | | | | values and indvars"" It seems that the patch was reverted by mistake. Clang testing showed failure of the MathExtras.SaturatingMultiply test, however I was unable to reproduce the issue on the fresh code base and was able to confirm that the transformation introduced by the change does not happen in the said test. This gives a strong confidence that the actual reason of the failure of the initial patch was somewhere else, and that problem now seems to be fixed. Re-submitting the change to confirm that. llvm-svn: 307244
* [ARM] GlobalISel: Legalize G_FCMP for s32Diana Picus2017-07-064-0/+818
| | | | | | | | | | | | | | | | | | | | | This covers both hard and soft float. Hard float is easy, since it's just Legal. Soft float is more involved, because there are several different ways to handle it based on the predicate: one and ueq need not only one, but two libcalls to get a result. Furthermore, we have large differences between the values returned by the AEABI and GNU functions. AEABI functions return a nice 1 or 0 representing true and respectively false. GNU functions generally return a value that needs to be compared against 0 (e.g. for ogt, the value returned by the libcall is > 0 for true). We could introduce redundant comparisons for AEABI as well, but they don't seem easy to remove afterwards, so we do different processing based on whether or not the result really needs to be compared against something (and just truncate if it doesn't). llvm-svn: 307243
* [DWARF] - Provide default implementation for getSectionLoadAddress() method ↵George Rimar2017-07-061-1/+3
| | | | | | | | | | | of LoadedObjectInfo It is a bit unconvinent that client should implement this method even if not use it. Patch provides default implementation. Differential revision: https://reviews.llvm.org/D35009 llvm-svn: 307242
* [clangd] Add support for per-file extra flagsKrasimir Georgiev2017-07-067-11/+123
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the ability to specify user-defined extra flags per opened file through the LSP layer. This is a non-standard extension to the protocol. I've already created a feature request about it for upstream lsp: https://github.com/Microsoft/language-server-protocol/issues/255 The particular use-case is ycmd, which has a python script for figuring out extra flags per file: https://github.com/Valloric/ycmd#flagsforfile-filename-kwargs- Reviewers: ilya-biryukov, klimek, bkramer Reviewed By: ilya-biryukov Subscribers: cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D34947 llvm-svn: 307241
* [globalisel][tablegen] Import rules containing intrinsic_wo_chain.Daniel Sanders2017-07-063-43/+104
| | | | | | | | | | | | | | | | | Summary: As of this patch, 1018 out of 3938 rules are currently imported. Depends on D32275 Reviewers: qcolombet, kristof.beyls, rovka, t.p.northover, ab, aditya_nandakumar Reviewed By: qcolombet Subscribers: dberris, igorb, llvm-commits Differential Revision: https://reviews.llvm.org/D32278 llvm-svn: 307240
* [ARM] GlobalISel: Widen s1, s8, s16 G_CONSTANTDiana Picus2017-07-062-0/+17
| | | | | | Get the legalizer to widen small constants. llvm-svn: 307239
* [OpenCL] Test on image access modifiers and image type can only be a type of ↵Egor Churaev2017-07-061-5/+28
| | | | | | | | | | | | | | a function argument. Reviewers: Anastasia Reviewed By: Anastasia Subscribers: yaxunl, cfe-commits, bader Differential Revision: https://reviews.llvm.org/D34980 llvm-svn: 307238
* Fix -Wunused-function by making function declarations in a header non-staticDavid Blaikie2017-07-061-2/+2
| | | | | | | | Also avoids ODR violations by ensuring names used in headers find the same entity, not different, file-local entities in each translation unit. llvm-svn: 307237
* Simplify InstrProfRecord tests, eliminating named temporaries in favor of ↵David Blaikie2017-07-062-107/+56
| | | | | | | | | braced init args This will also simplify an API transition and class renaming coming soon. llvm-svn: 307236
* [lit] Fix unit test discovery for Visual Studio builds.David L. Jones2017-07-061-1/+4
| | | | | | | | | | | | | | | | | | | | Fix by Andrew Ng! The Visual Studio build can contain output for multiple configuration types ( e.g. Debug, Release & RelWithDebInfo) within the same build output directory. Therefore when discovering unit tests, the "build mode" sub directory containing the appropriate configuration is included in the search. This sub directory may not always be present, so a test for its existence is required. Reviewers: zturner, modocache, dlj Reviewed By: zturner, dlj Subscribers: grimar, bd1976llvm, gbreynoo, edd, jhenderson, llvm-commits Differential Revision: https://reviews.llvm.org/D34976 llvm-svn: 307235
* Add a lldbutils routine that gathers up the boiler-plateJim Ingham2017-07-066-116/+58
| | | | | | | | | | to make a target, set a source regex breakpoint, run to the breakpoint and find the thread that hit the breakpoint. Start the process of replacing the boiler plate with this routine. llvm-svn: 307234
* [Sanitizers] Consolidate internal errno definitions.Alex Shlyapnikov2017-07-0610-34/+117
| | | | | | | Move internal errno definitions to common to be shared by all sanitizers and to be used by allocators. llvm-svn: 307233
* [modules ts] Do not emit strong function definitions from the module ↵Richard Smith2017-07-064-2/+102
| | | | | | interface unit in every user. llvm-svn: 307232
* [cxx_status] Update link to Modules TS to latest working draft. Fix ↵Richard Smith2017-07-061-2/+3
| | | | | | Coroutines TS flag to work if copy-pasted. llvm-svn: 307231
* Fix incomplete type test on OS X; workaround weird DYLD_LIBRARY_PATH behaviorEric Fiselier2017-07-061-1/+5
| | | | llvm-svn: 307230
* Avoid constructing GlobalExtensions only to find out it is empty.Frederich Munch2017-07-061-4/+14
| | | | | | | | | | | | | | | | Summary: GlobalExtensions is dereferenced twice, once for iteration and then a check if it is empty. As a ManagedStatic this dereference forces it's construction which is unnecessary. Reviewers: efriedma, davide, mehdi_amini Reviewed By: mehdi_amini Subscribers: chapuni, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D33381 llvm-svn: 307229
* add googlemock include dir to lldb-gtest Xcode targetTim Hammerquist2017-07-061-8/+8
| | | | | | | | | Add the googlemock include directory from LLVM to CFLAGS arguments in Xcode's lldb-gtest. <rdar://problem/33066993> llvm-svn: 307228
* Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource ↵Eric Beckmann2017-07-0513-19/+52
| | | | | | | | | | | | | | library.""" This reverts commit ae21ee0b6cacbc1efaf4d42502e71da2f0eb45c3. The initial revert was done in order to prevent ongoing errors on chromium bots such as CrWinClangLLD. However, this was done haphazardly and I didn't realize there were test and compilation failures, so this revert was reverted. Now that those have been fixed, we can revert the revert of the revert. llvm-svn: 307227
* Revert "Revert "Revert "Replace trivial use of external rc.exe by writing ↵Eric Beckmann2017-07-058-145/+78
| | | | | | | | | | | | | | our own .res file.""" This reverts commit 5fecbbbe5049665d86834cf69d8f75db4f392308. The initial revert was done in order to prevent ongoing errors on chromium bots such as CrWinClangLLD. However, this was done haphazardly and I didn't realize there were test and compilation failures, so this revert was reverted. Now that those have been fixed, we can revert the revert of the revert. llvm-svn: 307226
* Move fabricateDefaultCommands earlier.Rafael Espindola2017-07-055-110/+107
| | | | | | | It is now just after the OutputSections are created, which is as early as it can possibly go. llvm-svn: 307225
* [IR] Use CmpInst::isFPPredicate/isIntPredicate in a few other places. NFCCraig Topper2017-07-052-7/+6
| | | | llvm-svn: 307224
* Remove dummy cast.Rafael Espindola2017-07-051-3/+2
| | | | llvm-svn: 307220
* Use Entry::SecSize in a couple of cases.Rafael Espindola2017-07-054-23/+5
| | | | | | | This avoids having to compute relocation section sizes early, removing the last use of assignOffsets. llvm-svn: 307219
* Suppress -Waligned-allocation-unavailable warning in libc++ test suiteEric Fiselier2017-07-051-0/+1
| | | | llvm-svn: 307218
* Simplify. NFC.Rafael Espindola2017-07-052-14/+10
| | | | llvm-svn: 307217
* [GlobalOpt] Remove unreachable blocks before optimizing a function.Davide Italiano2017-07-052-0/+35
| | | | | | | | | | | | | | | | | LLVM's definition of dominance allows instructions that are cyclic in unreachable blocks, e.g.: %pat = select i1 %condition, @global, i16* %pat because any instruction dominates an instruction in a block that's not reachable from entry. So, remove unreachable blocks from the function, because a) there's no point in analyzing them and b) GlobalOpt should otherwise grow some more complicated logic to break these cycles. Differential Revision: https://reviews.llvm.org/D35028 llvm-svn: 307215
* Remove a function that is now trivial.Rafael Espindola2017-07-053-10/+2
| | | | llvm-svn: 307214
* [tsan] Use pthread_sigmask instead of sigprocmask to block signals in a ↵Kuba Mracek2017-07-052-1/+77
| | | | | | | | | | thread on Darwin On Darwin, sigprocmask changes the signal mask for the entire process. This has some unwanted consequences, because e.g. internal_start_thread wants to disable signals only in the current thread (to make the new thread inherit the signal mask), which is currently broken on Darwin. This patch switches to pthread_sigmask. Differential Revision: https://reviews.llvm.org/D35016 llvm-svn: 307212
* Using existing variable. NFC.Rafael Espindola2017-07-051-7/+6
| | | | llvm-svn: 307211
* [IR] Use CmpInst::isIntPredicate()/isFPPredicate in some asserts instead of ↵Craig Topper2017-07-051-4/+2
| | | | | | doing the equivalent range check. NFC llvm-svn: 307210
OpenPOWER on IntegriCloud