summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [InstCombine][AVX] Split off VPERMILVAR tests and added additional tests for ↵Simon Pilgrim2016-04-302-60/+124
| | | | | | UNDEF mask elements llvm-svn: 268159
* [InstCombine][AVX] VPERMILVAR to shuffle combine to use general aggregate ↵Simon Pilgrim2016-04-301-18/+20
| | | | | | | | elements. NFCI. Make use of Constant::getAggregateElement instead of checking constant types - first step towards adding support for UNDEF mask elements. llvm-svn: 268158
* [tsan] Return 0 from malloc_size for non-malloc'd pointersKuba Brecka2016-04-303-14/+49
| | | | | | | | In http://reviews.llvm.org/D19100, I introduced a bug: On OS X, existing programs rely on malloc_size() to detect whether a pointer comes from heap memory (malloc_size returns non-zero) or not. We have to distinguish between a zero-sized allocation (where we need to return 1 from malloc_size, due to other binary compatibility reasons, see http://reviews.llvm.org/D19100), and pointers that are not returned from malloc at all. Differential Revision: http://reviews.llvm.org/D19653 llvm-svn: 268157
* Stab in the dark to fix the PS4 botChris Bieneman2016-04-301-0/+3
| | | | | | r268127 is causing the PS4 bots to fail. Not sure what is causing it, but hopefully this will fix it. llvm-svn: 268156
* Differential Revision: http://reviews.llvm.org/D19753Sriraman Tallam2016-04-301-9/+1
| | | | | | Delete Target Option PositionIndependentExecutable as PIE is now part of module flags. llvm-svn: 268155
* AMDGPU/SI: Remove wait state handling for SMRD in SIInsertWaitsTom Stellard2016-04-303-8/+4
| | | | | | This was supposed to be part of r268143. llvm-svn: 268154
* Replace one more occurrence of non-standard std:launch::any. Patch from ↵Eric Fiselier2016-04-301-3/+3
| | | | | | STL@microsoft.com llvm-svn: 268153
* [PowerPC/QPX] Fix the load/splat peephole with overlapping readsHal Finkel2016-04-301-1/+9
| | | | | | | | | | | If, in between the splat and the load (which does an implicit splat), there is a read of the splat register, then that register must have another earlier definition. In that case, we can't replace the load's destination register with the splat's destination register. Unfortunately, I don't have a small or non-fragile test case. llvm-svn: 268152
* Reverting 268055 as it caused PR27579.Amjad Aboud2016-04-305-94/+22
| | | | llvm-svn: 268151
* Reverting 268054 & 268063 as they caused PR27579.Amjad Aboud2016-04-3020-894/+86
| | | | llvm-svn: 268150
* Don't create dynamic relocations to ro segments.Rafael Espindola2016-04-3011-108/+152
| | | | | | | | | | | | | These would just crash at runtime. If we ever decide to support rw text segments this should make it easier to implement as there is now a single point where we notice the problem. I have tested this with a freebsd buildworld. It found a non pic assembly file being linked into a .so,. With that fixed, buildworld finished. llvm-svn: 268149
* [LowerGuardIntrinsics] Keep track of !make.implicit metadataSanjoy Das2016-04-303-1/+21
| | | | | | | | | | If a guard call being lowered by LowerGuardIntrinsics has the `!make.implicit` metadata attached, then reattach the metadata to the branch in the resulting expanded form of the intrinsic. This allows us to implement null checks as guards and still get the benefit of implicit null checks. llvm-svn: 268148
* Reroll loops with multiple IV and negative step part 3Lawrence Hu2016-04-302-9/+289
| | | | | | | | | | | | | | support multiple induction variables This patch enable loop reroll for the following case: for(int i=0; i<N; i += 2) { S += *a++; S += *a++; }; Differential Revision: http://reviews.llvm.org/D16550 llvm-svn: 268147
* [Orc] Fix the AArch64 resolver size.Lang Hames2016-04-301-1/+1
| | | | llvm-svn: 268146
* Don't depend on lld creating relocations in ro segments.Rafael Espindola2016-04-3015-154/+163
| | | | | | | | | | | | | | | We currently don't do a good job of diagnosing inputs that would require dynamic relocations to be applied to read only segments. I am about to improve lld in that area, but unfortunately we developed tests that depend on the current behavior. To make clear what is actually changing, this first patch just updates tests to not depend on the current behavior. In most cases this just means using a rw section instead of a ro one, but that unfortunately changes many addresses. llvm-svn: 268145
* Fix a typo (NFC)Vedant Kumar2016-04-301-1/+1
| | | | llvm-svn: 268144
* AMDGPU/SI: Enable the post-ra schedulerTom Stellard2016-04-3035-117/+426
| | | | | | | | | | | | | | Summary: This includes a hazard recognizer implementation to replace some of the hazard handling we had during frame index elimination. Reviewers: arsenm Subscribers: qcolombet, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D18602 llvm-svn: 268143
* [LowerGuardIntrinsics] Preserve calling conv when loweringSanjoy Das2016-04-302-0/+17
| | | | llvm-svn: 268142
* add minimal test to show dropped metadataSanjay Patel2016-04-301-0/+28
| | | | llvm-svn: 268141
* [Release Notes] Mention Clang-tidy cert-err34-c check.Eugene Zelenko2016-04-301-7/+14
| | | | | | Fix order and style of Boost related notes. llvm-svn: 268140
* remove the metadata added with r267827Sanjay Patel2016-04-301-14/+6
| | | | | | | We can demonstrate the 'select' bug and fix with a simpler test case. The merged weight values are already tested in another test. llvm-svn: 268139
* Fix test's memory leaks.Filipe Cabecinhas2016-04-291-9/+15
| | | | llvm-svn: 268138
* Delete store to Target option PositionIndependentExecutable as PIE is now ↵Sriraman Tallam2016-04-291-1/+0
| | | | | | | | set in module flags. Differential Revision: http://reviews.llvm.org/D19749 llvm-svn: 268137
* Document how to recreate a binary.Rafael Espindola2016-04-291-0/+21
| | | | llvm-svn: 268136
* Fix TestEnumTypes.py for 32 bit platforms.Chaoren Lin2016-04-291-2/+2
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D19751 llvm-svn: 268135
* Document how to recreate a binary.Rafael Espindola2016-04-291-0/+16
| | | | llvm-svn: 268134
* Use simpler types. NFC.Rafael Espindola2016-04-291-2/+2
| | | | llvm-svn: 268133
* [CUDA] Copy host builtin types to NVPTXTargetInfo.Justin Lebar2016-04-295-2/+102
| | | | | | | | | | | | | | | | | Summary: Host and device types must match, otherwise when we pass values back and forth between the host and device, we will get the wrong result. This patch makes NVPTXTargetInfo inherit most of its type information from the host's target info. Reviewers: rsmith Subscribers: cfe-commits, jhen, tra Differential Revision: http://reviews.llvm.org/D19346 llvm-svn: 268131
* Reapply r268107 after fixing a bug breaks debug build.Xinliang David Li2016-04-292-70/+87
| | | | | | Makes the new method to set data needed by debug dump. llvm-svn: 268130
* [NFC] Initialize a variable to make buildbot green.Denis Zobnin2016-04-291-1/+1
| | | | | | | | | In r268085 "[MS] Make #pragma pack use PragmaStack<> class." there was an uninitialized variable 'Alignment', which caused the following failure: http://lab.llvm.org:8011/builders/sanitizer-ppc64be-linux/builds/1758 Zero-initialize the variable to fix this failure. llvm-svn: 268129
* Fix test case for incompatible sysroot warningChris Bieneman2016-04-291-5/+5
| | | | | | r268127 broke some bots because it needs to specify a darwin target. llvm-svn: 268128
* Add a new warning to notify users of mismatched SDK and deployment targetChris Bieneman2016-04-294-5/+59
| | | | | | | | | | | | | | | Summary: This patch adds a new driver warning -Wincompatible-sdk which notifies the user when they are mismatching the version min options and the sysroot. The patch works by checking the sysroot (if present) for an SDK name, then matching that against the target platform. In the case of a mismatch it logs a warning. Reviewers: bob.wilson, rsmith Subscribers: rsmith, edward-san, cfe-commits Differential Revision: http://reviews.llvm.org/D18088 llvm-svn: 268127
* Mark guards on true as "trivially dead"Sanjoy Das2016-04-293-11/+19
| | | | | | | | | This moves some logic added to EarlyCSE in rL268120 into `llvm::isInstructionTriviallyDead`. Adds a test case for DCE to demonstrate that passes other than EarlyCSE can now pick up on the new information. llvm-svn: 268126
* [CMake] [Xcode] Improving Xcode toolchain generation to support distribution ↵Chris Bieneman2016-04-291-0/+20
| | | | | | | | targets This adds a new target `install-distribution-toolchain` which will install an Xcode toolchain featuring just the LLVM components specified in LLVM_DISTRIBUTION_COMPONENTS. llvm-svn: 268125
* [CMake] Create a separate install target for libcxx headersChris Bieneman2016-04-292-3/+16
| | | | | | This change doesn't impact the behavior of the install-libcxx target which installs whichever libcxx components you build, it just adds a separate target to just install the headers. llvm-svn: 268124
* clean up documentation comments; NFCSanjay Patel2016-04-292-112/+18
| | | | llvm-svn: 268122
* [MBP] Use Function::optForSize() instead of checking OptimizeForSize directly.Haicheng Wu2016-04-293-2/+71
| | | | | | Fix a FIXME. Disable loop alignment if compiled with -Oz now. llvm-svn: 268121
* [EarlyCSE] Simplify guard intrinsicsSanjoy Das2016-04-292-0/+204
| | | | | | | | | | | | | | | | | | Summary: This change teaches EarlyCSE some basic properties of guard intrinsics: - Guard intrinsics read all memory, but don't write to any memory - After a guard has executed, the condition it was guarding on can be assumed to be true - Guard intrinsics on a constant `true` are no-ops Reviewers: reames, hfinkel Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19578 llvm-svn: 268120
* AMDGPU: Fix crash with unreachable terminators.Matt Arsenault2016-04-292-12/+83
| | | | | | | | | | If a block has no successors because it ends in unreachable, this was accessing an invalid iterator. Also stop counting instructions that don't emit any real instructions. llvm-svn: 268119
* [ELF] Ignore -d option (and aliases).Davide Italiano2016-04-291-0/+4
| | | | | | | The linker already allocates common symbols by default. Discussed with Rafael. llvm-svn: 268117
* Revert r268107 -- debug build failureXinliang David Li2016-04-292-82/+70
| | | | llvm-svn: 268116
* [InstCombine][SSE] PSHUFB to shuffle combine to use general aggregate ↵Simon Pilgrim2016-04-291-17/+23
| | | | | | | | elements. NFCI. Make use of Constant::getAggregateElement instead of checking constant types - first step towards adding support for UNDEF mask elements. llvm-svn: 268115
* Try to fix clang-cmake-aarch64-42vma by removing a memory leak (have a ↵Filipe Cabecinhas2016-04-291-1/+2
| | | | | | global var capture it). llvm-svn: 268114
* [Sema] Specify the underlying type for an enum. NFC.George Burgess IV2016-04-291-1/+1
| | | | llvm-svn: 268113
* [Orc] Add ORC lazy-compilation support for AArch64.Lang Hames2016-04-292-0/+175
| | | | | | | The ORC compile callbacks and indirect stubs APIs will now work for AArc64, allowing functions to be lazily compiled and/or updated. llvm-svn: 268112
* [Orc] Make sure we don't drop the internal error in OrcRemoteTargetClient whenLang Hames2016-04-291-2/+3
| | | | | | the constructor fails, as this would lead to an 'unchecked error' crash. llvm-svn: 268111
* Watch out for compilers that generate bad bitfield info. If the bit size of ↵Greg Clayton2016-04-292-2/+18
| | | | | | | | | a bitfield member doesn't lie within the bit bounds of the type itself, just leave it out so we don't get clang asserting and killing our IDE when it gets unhappy with the information. https://llvm.org/bugs/show_bug.cgi?id=27515 <rdar://problem/21082998> llvm-svn: 268110
* [Docs] Refer to the CMakePrimer from CMake docChris Bieneman2016-04-291-0/+4
| | | | | | The "Building LLVM with CMake" document should have a reference to the CMakePrimer. llvm-svn: 268109
* [ValueTracking] Make the code in lookThroughCastDavid Majnemer2016-04-291-16/+9
| | | | | | No functionality change is intended. llvm-svn: 268108
* [inliner]: Refactor inline deferring logic into its own method /NFCXinliang David Li2016-04-292-70/+82
| | | | | | | | The implemented heuristic has a large body of code which better sits in its own function for better readability. It also allows adding more heuristics easier in the future. llvm-svn: 268107
OpenPOWER on IntegriCloud