summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang-cl: Add /Yc argument to /showIncludes output.Nico Weber2016-03-134-29/+34
| | | | | | | | | | To make this work, delay printing of ExtraDeps in HeaderIncludesCallback a bit, so that it happens after CompilerInstance::InitializeSourceManager() has run. General /FI arguments are still missing from /showIncludes output, this still needs to be fixed. llvm-svn: 263352
* ELF: Include the build ID section in the first page.Rui Ueyama2016-03-132-1/+10
| | | | | | | | | | | | At least Linux has the kernel configuration to include the first page of the executable into core files. We want build ID section to be included in core files to identify them. Here is the link to the description about the kernel configuration. https://github.com/torvalds/linux/blob/097f70b3c4d84ffccca15195bdfde3a37c0a7c0f/fs/Kconfig.binfmt#L46 llvm-svn: 263351
* Add echo test for constant data arrays in the LLVM C APIAmaury Sechet2016-03-132-0/+12
| | | | llvm-svn: 263350
* Use templated version of unwrap instead of cats in the Core.cpp. NFCAmaury Sechet2016-03-133-8/+8
| | | | llvm-svn: 263349
* Move LLVMConstStructInContext so that declarationa nd definition order ↵Amaury Sechet2016-03-131-8/+8
| | | | | | match. NFC llvm-svn: 263348
* update test to use FileCheckSanjay Patel2016-03-121-9/+17
| | | | llvm-svn: 263347
* fix documentation comments; NFCSanjay Patel2016-03-121-7/+2
| | | | llvm-svn: 263346
* fix documentation comments; NFCSanjay Patel2016-03-121-76/+62
| | | | llvm-svn: 263345
* clang-cl: Add a test for the interaction of /Yc and /showIncludes.Nico Weber2016-03-124-0/+23
| | | | | | | | We almost get this right, but not completely (see FIXME). It looks like /FI headers generally aren't included in /showIncludes yet, but they should be. But it seems good to have test coverage for the bits that already work. llvm-svn: 263344
* remove unnecessary cast; NFCSanjay Patel2016-03-121-4/+3
| | | | llvm-svn: 263343
* fix formatting; NFCSanjay Patel2016-03-121-12/+12
| | | | llvm-svn: 263342
* use range loops; NFCISanjay Patel2016-03-121-21/+18
| | | | llvm-svn: 263341
* [x86, InstCombine] delete x86 SSE2 masked store with zero maskSanjay Patel2016-03-122-0/+19
| | | | | | | | | This follows up on the related AVX instruction transforms, but this one is too strange to do anything more with. Intel's behavioral description of this instruction in its Software Developer's Manual is tragi-comic. llvm-svn: 263340
* [ELF][MIPS] Put type of symbol (local/global) to the findMipsPairedReloc and ↵Simon Atanasyan2016-03-122-12/+13
| | | | | | call it from the single place. NFC. llvm-svn: 263339
* Fix for PR 26378Nemanja Ivanovic2016-03-122-0/+12
| | | | | | | | | | | This patch corresponds to review: http://reviews.llvm.org/D17712 We were not clearing the TOC vector in PPCAsmPrinter when initializing it. This caused duplicate definition asserts when the pass is reused on the module (i.e. with -compile-twice or in JIT contexts). llvm-svn: 263338
* Recommit of r263252, [ELF] - Change all messages to lowercase to be consistent.George Rimar2016-03-1224-74/+75
| | | | | | | | | | | | | | | | | | | | | which was reverted because included unrelative changes by mistake. Original commit message: [ELF] - Change all messages to lowercase to be consistent. That is directly opposite to http://reviews.llvm.org/D18045, which was reverted. This patch changes all messages to start from lowercase letter if they were not before. That is done to be consistent with clang. Differential revision: http://reviews.llvm.org/D18085 llvm-svn: 263337
* Update the documents of the new LLD.Rui Ueyama2016-03-125-368/+376
| | | | | | | This patch merges the documents for ELF and COFF into one and puts it into docs directory. llvm-svn: 263336
* Use default destructor and remove unnecessary virtual destructorTeresa Johnson2016-03-121-2/+1
| | | | | | | Only the virtual destructor in the base class is needed, and can use the default. llvm-svn: 263335
* Let's not convert from UINT32_MAX to the std::numeric_limits version.Jim Ingham2016-03-124-22/+24
| | | | llvm-svn: 263333
* [libFuzzer] refresh docs moreKostya Serebryany2016-03-121-20/+7
| | | | llvm-svn: 263332
* [libFuzzer] refresh docs moreKostya Serebryany2016-03-121-4/+1
| | | | llvm-svn: 263331
* [libFuzzer] refresh docs moreKostya Serebryany2016-03-121-20/+18
| | | | llvm-svn: 263330
* [lit] Hack lit to allow a test suite to request that it is run "early".Chandler Carruth2016-03-124-2/+17
| | | | | | | | | | | | | This lets us for example start running the unit test suite early. For 'check-llvm' on my machine, this drops the tim e from 44s to 32s!!!!! It's pretty ugly. I barely know how to write Python, so feel free to just tell me how I should write it instead. =D Thanks to Filipe and others for help. Differential Revision: http://reviews.llvm.org/D18089 llvm-svn: 263329
* [libFuzzer] refresh docsKostya Serebryany2016-03-121-43/+57
| | | | llvm-svn: 263328
* Make gc relocates more strongly typed; NFCSanjoy Das2016-03-121-10/+13
| | | | | | | Don't use a `Value *` where we can use a stronger `GCRelocateInst *` type. llvm-svn: 263327
* This change introduces a "ExpressionExecutionThread" to the ThreadList. Jim Ingham2016-03-1215-22/+146
| | | | | | | | | | | | | | | | | | | Turns out that most of the code that runs expressions (e.g. the ObjC runtime grubber) on behalf of the expression parser was using the currently selected thread. But sometimes, e.g. when we are evaluating breakpoint conditions/commands, we don't select the thread we're running on, we instead set the context for the interpreter, and explicitly pass that to other callers. That wasn't getting communicated to these utility expressions, so they would run on some other thread instead, and that could cause a variety of subtle and hard to reproduce problems. I also went through the commands and cleaned up the use of GetSelectedThread. All those uses should have been trying the thread in the m_exe_ctx belonging to the command object first. It would actually have been pretty hard to get misbehavior in these cases, but for correctness sake it is good to make this usage consistent. <rdar://problem/24978569> llvm-svn: 263326
* [X86] Make sure we do not clobber RBX with cmpxchg when used as a base pointer.Quentin Colombet2016-03-127-15/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmpxchg[8|16]b uses RBX as one of its argument. In other words, using this instruction clobbers RBX as it is defined to hold one the input. When the backend uses dynamically allocated stack, RBX is used as a reserved register for the base pointer. Reserved registers have special semantic that only the target understands and enforces, because of that, the register allocator don’t use them, but also, don’t try to make sure they are used properly (remember it does not know how they are supposed to be used). Therefore, when RBX is used as a reserved register but defined by something that is not compatible with that use, the register allocator will not fix the surrounding code to make sure it gets saved and restored properly around the broken code. This is the responsibility of the target to do the right thing with its reserved register. To fix that, when the base pointer needs to be preserved, we use a different pseudo instruction for cmpxchg that save rbx. That pseudo takes two more arguments than the regular instruction: - One is the value to be copied into RBX to set the proper value for the comparison. - The other is the virtual register holding the save of the value of RBX as the base pointer. This saving is done as part of isel (i.e., we emit a copy from rbx). cmpxchg_save_rbx <regular cmpxchg args>, input_for_rbx_reg, save_of_rbx_as_bp This gets expanded into: rbx = copy input_for_rbx_reg cmpxchg <regular cmpxchg args> rbx = save_of_rbx_as_bp Note: The actual modeling of the pseudo is a bit more complicated to make sure the interferes that appears after the pseudo gets expanded are properly modeled before that expansion. This fixes PR26883. llvm-svn: 263325
* Fix bad regression from r263077 when building with MSVC.Nico Weber2016-03-122-5/+2
| | | | | | | | | | | | | | That change did: -#if defined(__BIG_ENDIAN__) +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ If __BYTE_ORDER__ and __ORDER_BIG_ENDIAN__ aren't defined, like they are with MSVC, this condition is true (0 == 0). Fixes PR26919. llvm-svn: 263324
* [libFuzzer] try to use max_len based on the items of the corpus instead of ↵Kostya Serebryany2016-03-126-27/+59
| | | | | | blindly defaulting to 64 bytes. llvm-svn: 263323
* Revert "Update Polly for the removal of PreserveNames from IRBuilder stuff"David Blaikie2016-03-121-6/+10
| | | | | | | | | The original r263258 was reverted in r263321 due to issues with Release testing. This reverts commit r263296. llvm-svn: 263322
* Temporarily revert:Eric Christopher2016-03-1214-32/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ae14bf6488e8441f0f6d74f00455555f6f3943ac Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:15:50 2016 +0000 Remove PreserveNames template parameter from IRBuilder Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds. Reviewers: chandlerc Subscribers: mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D18023 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263258 91177308-0d34-0410-b5e6-96231b3b80d8 until we can figure out what to do about clang and Release build testing. This reverts commit 263258. llvm-svn: 263321
* Temporarily revert these patches:Eric Christopher2016-03-125-15/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 60d9845f6a037122d9be9a6d92d4de617ef45b04 Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 18:48:02 2016 +0000 Fix clang crash: when CodeGenAction is initialized without a context, use the member and not the parameter From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263273 91177308-0d34-0410-b5e6-96231b3b80d8 commit af7ce3bf04a75ad5124b457b805df26006bd215b Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:32:58 2016 +0000 Fix build: use -> with pointers and not . Silly typo. From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263267 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0eea119192814954e7368c77d0dc5a9eeec1fbb Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:15:44 2016 +0000 Remove compile time PreserveName switch based on NDEBUG Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds. Reviewers: chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18024 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263257 91177308-0d34-0410-b5e6-96231b3b80d8 until we can fix the Release builds. This reverts commits 263257, 263267, 263273 llvm-svn: 263320
* Add Lanai.def to the module map.Eric Christopher2016-03-121-0/+1
| | | | llvm-svn: 263319
* [LoopUnroll] Convert some existing tests to unit-tests.Michael Zolotukhin2016-03-123-230/+144
| | | | | | | | | | | | Summary: As we now have unit-tests for UnrollAnalyzer, we can convert some existing tests to this format. It should make the tests more robust. Reviewers: chandlerc, sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17904 llvm-svn: 263318
* Fix a memory leak due to missing virtual destructorsTeresa Johnson2016-03-121-0/+3
| | | | | | | Caused a couple of sanitizer bot failures in ThinLTO tests due to r263275. llvm-svn: 263317
* Initialize two variables in kmp_tasking.Samuel Antao2016-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Two initialized local variables are causing clang to produce warnings: ``` ./src/projects/openmp/runtime/src/kmp_tasking.c:3019:5: error: variable 'num_tasks' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized] default: ^~~~~~~ ./src/projects/openmp/runtime/src/kmp_tasking.c:3027:21: note: uninitialized use occurs here for( i = 0; i < num_tasks; ++i ) { ^~~~~~~~~ ./src/projects/openmp/runtime/src/kmp_tasking.c:2968:28: note: initialize the variable 'num_tasks' to silence this warning kmp_uint64 i, num_tasks, extras; ^ = 0 ./src/projects/openmp/runtime/src/kmp_tasking.c:3019:5: error: variable 'extras' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized] default: ^~~~~~~ ./src/projects/openmp/runtime/src/kmp_tasking.c:3022:52: note: uninitialized use occurs here KMP_DEBUG_ASSERT(tc == num_tasks * grainsize + extras); ^~~~~~ ./src/projects/openmp/runtime/src/kmp_debug.h:62:60: note: expanded from macro 'KMP_DEBUG_ASSERT' #define KMP_DEBUG_ASSERT( cond ) KMP_ASSERT( cond ) ^ ./src/projects/openmp/runtime/src/kmp_debug.h:60:51: note: expanded from macro 'KMP_ASSERT' #define KMP_ASSERT( cond ) ( (cond) ? 0 : __kmp_debug_assert( #cond, __FILE__, __LINE__ ) ) ^ ./src/projects/openmp/runtime/src/kmp_tasking.c:2968:36: note: initialize the variable 'extras' to silence this warning kmp_uint64 i, num_tasks, extras; ^ = 0 2 errors generated. ``` This patch initializes these two variables. Reviewers: tlwilmar, jlpeyton Subscribers: tlwilmar, openmp-commits Differential Revision: http://reviews.llvm.org/D17909 llvm-svn: 263316
* Updating source languages entry in FAQ.Wilfred Hughes2016-03-121-5/+4
| | | | | | | | | Dragonegg is no longer actively maintained[1], and the Pypy team is not actively pursuing LLVM[2]. 1: http://reviews.llvm.org/D9331 2: http://rpython.readthedocs.org/en/latest/faq.html#could-we-use-llvm llvm-svn: 263314
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-125-428/+165
| | | | | | other minor fixes. llvm-svn: 263312
* Disable a test that started failing recently; see PR26919.Nico Weber2016-03-121-0/+3
| | | | llvm-svn: 263311
* Disable CFI checks in std::addressof.Evgeniy Stepanov2016-03-111-1/+1
| | | | | | | | std::addressof may be used on a storage of an object before the start of its lifetime (see std::allocate_shared for example). CFI flags the C-style cast as invalid in that case. llvm-svn: 263310
* Fix the docs I brokeChris Matthews2016-03-111-0/+3
| | | | llvm-svn: 263309
* [sancov] using md5 for anchors in attempt to reduce file size.Mike Aizatsky2016-03-112-7/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D18102 llvm-svn: 263308
* Don't crash sancov if file is unreadable.Mike Aizatsky2016-03-111-6/+10
| | | | | | | | | | | | | | | Summary: Caller can provides the list of .so files where some files are unreadable (e.g linux-vdso.so.1). It's more convenient to handler this in sancov with warning then making all callers to check files. Reviewers: aizatsky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18103 llvm-svn: 263307
* Extend test-suite docs to describe how to run test-suite with cmake+litChris Matthews2016-03-111-9/+76
| | | | llvm-svn: 263305
* Minor cleanup and documentation to IRMover (NFC)Mehdi Amini2016-03-112-21/+41
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263304
* [X86][SSE] Simplify vector LOAD + EXTEND on pre-SSE41 hardwareSimon Pilgrim2016-03-114-53/+90
| | | | | | | | | | | | Improve vector extension of vectors on hardware without dedicated VSEXT/VZEXT instructions. We already convert these to SIGN_EXTEND_VECTOR_INREG/ZERO_EXTEND_VECTOR_INREG but can further improve this by using the legalizer instead of prematurely splitting into legal vectors in the combine as this only properly helps for lowering to VSEXT/VZEXT. Removes a lot of unnecessary any_extend + mask pattern - (Fix for PR25718). Differential Revision: http://reviews.llvm.org/D17932 llvm-svn: 263303
* Make functions in altivec.h be __inline__. As they are all also markedDaniel Jasper2016-03-111-4034/+4370
| | | | | | | __always_inline__, this has likely been meant from the start. Review: http://reviews.llvm.org/D18015 llvm-svn: 263302
* [AArch64] Don't blindly lower f16/f128 FCCMPs.Ahmed Bougacha2016-03-112-3/+68
| | | | | | | | | Instead, extend f16 (like we do when lowering a standalone SETCC), and let f128 be legalized to the RT calls. Fixes PR26803. llvm-svn: 263301
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-113-293/+199
| | | | | | other minor fixes. llvm-svn: 263300
* Add fix-it for format-security warnings.Bob Wilson2016-03-113-9/+58
| | | | llvm-svn: 263299
OpenPOWER on IntegriCloud