summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Raising minimum required CMake version to 2.8.12.2.Chris Bieneman2015-02-091-15/+1
| | | | llvm-svn: 228615
* [Hexagon] Removing more V4 predicates since V4 is the required minimum.Colin LeMahieu2015-02-0912-470/+226
| | | | llvm-svn: 228614
* Minor test cleanupPhilip Reames2015-02-091-5/+4
| | | | | | | a) add gc attribute b) remove unused param llvm-svn: 228612
* MemDerefPrinter: Require DataLayoutPass for higher accuracyRamkumar Ramachandra2015-02-092-4/+15
| | | | | | | | | | Without a valid data layout, deferenceable(N) doesn't get parsed or propagated. Since this is the key item we are testing, add a dependency on the pass. Differential Revision: http://reviews.llvm.org/D7508 llvm-svn: 228611
* Add basic tests for PlaceSafepointsPhilip Reames2015-02-092-5/+93
| | | | | | This is just adding really simple tests which should have been part of the original submission. When doing so, I discovered that I'd mistakenly removed required pieces when preparing the patch for upstream submission. I fixed two such bugs in this submission. llvm-svn: 228610
* Verifier: Const-qualify Metadata, NFCDuncan P. N. Exon Smith2015-02-091-7/+7
| | | | llvm-svn: 228609
* IR: Document horrible abuse of loose DIDescriptor, NFCDuncan P. N. Exon Smith2015-02-091-0/+2
| | | | | | | I'll circle back and fix this somehow; for now I just don't want to forget about it. llvm-svn: 228608
* IR: Remove dead code in DITemplate*Duncan P. N. Exon Smith2015-02-091-12/+0
| | | | | | These are never referenced or filled in. llvm-svn: 228607
* isDereferenceablePointer: look through gc.relocate callsRamkumar Ramachandra2015-02-092-2/+10
| | | | | | | | | | While a theoretical GC might change dereferenceability on collection, there is no such known collector and no need to account for the case with a flag yet. Differential Revision: http://reviews.llvm.org/D7454 llvm-svn: 228606
* [Hexagon] Removing v2-4 flags. V4 is the minimum supported version.Colin LeMahieu2015-02-094-93/+64
| | | | llvm-svn: 228605
* Reduce the LockFileManager timeout, and provide unsafeRemoveLockFileBen Langmuir2015-02-092-2/+10
| | | | | | | | | | 5 minutes is an eternity, so try to strike a better balance between waiting long enough for any reasonable module build and not so long that users kill the process because they think it's hanging. Also give the client a way to delete the lock file after a timeout. llvm-svn: 228603
* [Hexagon] Factoring classes out of store patterns.Colin LeMahieu2015-02-092-45/+53
| | | | llvm-svn: 228602
* [Hexagon] Formatting v5 TD file. Removing commented defs.Colin LeMahieu2015-02-091-38/+28
| | | | llvm-svn: 228598
* MemDepPrinter: cleanup a few loops (NFC)Ramkumar Ramachandra2015-02-091-9/+8
| | | | | | | | | Make use of the newly introduced inst_range to clean up two loops. Clean up a third one while at it. Differential Revision: http://reviews.llvm.org/D7455 llvm-svn: 228596
* Address post-commit review for rL228587: make it explicit that theSanjoy Das2015-02-091-1/+2
| | | | | | | <NW> bit of a SCEVAddRecExpr does not depend on the sign of the step and the start value of the step. llvm-svn: 228595
* [Hexagon] Cleaning up definition formatting.Colin LeMahieu2015-02-091-85/+85
| | | | llvm-svn: 228593
* Clarify the wording on what it means for a SCEVAddRecExpr to be <NW>.Sanjoy Das2015-02-091-6/+6
| | | | llvm-svn: 228587
* Bugfix: SCEV incorrectly marks certain add recurrences as nswSanjoy Das2015-02-092-2/+36
| | | | | | | | | | | | | | When creating a scev for sext({X,+,Y}), scev checks if the expression is equivalent to {sext X,+,zext Y}. If it can prove that, it also tags the original {X,+,Y} as <nsw>, which is not correct. In the test case I run `-scalar-evolution` twice because the bug manifests only once SCEV has run through and seen the `sext` expressions (and then does a in-place mutation on {X,+,Y}). Differential Revision: http://reviews.llvm.org/D7495 llvm-svn: 228586
* [Orc] Revert r228567 (GCC ICE workaround) - it doesn't seem to have helped.Lang Hames2015-02-092-2/+2
| | | | | | | As far as I can tell r228568 was the right workaround, and r228567 was unnecessary. If reverting this causes problems on the bots I'll reinstate it. llvm-svn: 228585
* fixed to test features, not CPUsSanjay Patel2015-02-092-7/+7
| | | | llvm-svn: 228581
* This change implements the following three logical vector operations:Kit Barton2015-02-094-0/+70
| | | | | | | | | | | | veqv (vector equivalence) vnand vorc I increased the AddedComplexity for these instructions to 500 to ensure they are generated instead of issuing other VSX instructions. Phabricator review: http://reviews.llvm.org/D7469 llvm-svn: 228580
* rename variable to give it some meaning; remove obvious comments; NFCSanjay Patel2015-02-091-12/+12
| | | | llvm-svn: 228579
* fix comment that didn't match the code; remove unnecessary braces; NFCSanjay Patel2015-02-091-4/+3
| | | | llvm-svn: 228578
* Allow ScalarEvolution to catch more min/max casesJohannes Doerfert2015-02-092-23/+78
| | | | | | | | | | | | For the attached test case different types are used in the ICmpInst and SelectInst that represent the min/max expressions. However, if the ICmpInst type is smaller a comparison with the sign/zero extended operands would have yielded the same result. This situation might arise after the instruction combination pass was applied. Differential Revision: http://reviews.llvm.org/D7338 llvm-svn: 228572
* [Orc] Try another workaround for the GCC 4.7.2 ICE introduced in r228557. NFC.Lang Hames2015-02-092-7/+7
| | | | llvm-svn: 228568
* [Orc] Tweak lambda capture lists to try to avoid an ICE on gcc-4.7.2. NFC.Lang Hames2015-02-092-2/+2
| | | | | | | Apparently gcc-4.7.2 is touchy about 'this' appearing in a lambda capture list along with other captures. I've rewritten my captures to try to avoid the issue. llvm-svn: 228567
* Fix a bug in DemoteRegToStack where a reload instruction was inserted into theAkira Hatanaka2015-02-092-19/+143
| | | | | | | | | | | | | | | | | | wrong basic block. This would happen when the result of an invoke was used by a phi instruction in the invoke's normal destination block. An instruction to reload the invoke's value would get inserted before the critical edge was split and a new basic block (which is the correct insertion point for the reload) was created. This commit fixes the bug by splitting the critical edge before all the reload instructions are inserted. Also, hoist up the code which computes the insertion point to the only place that need that computation. rdar://problem/15978721 llvm-svn: 228566
* MC: Calculate intra-section symbol differences correctly for COFFDavid Majnemer2015-02-092-6/+36
| | | | | | This fixes PR22060. llvm-svn: 228565
* [Orc] Fix the MSVC bots by using LLVM_EXPLICIT rather than explicit.Lang Hames2015-02-091-1/+2
| | | | llvm-svn: 228564
* [X86] Remove 256-bit and 512-bit memop pattern fragments. They are no longer ↵Craig Topper2015-02-092-14/+2
| | | | | | used. llvm-svn: 228563
* [X86] Remove 'memop' uses from AVX512. Use 'load' instead.Craig Topper2015-02-091-81/+71
| | | | llvm-svn: 228562
* DeadArgElim: fix mismatch in accounting of array return types.Tim Northover2015-02-092-40/+92
| | | | | | | | | | | | Some parts of DeadArgElim were only considering the individual fields of StructTypes separately, but others (where insertvalue & extractvalue instructions occur) also looked into ArrayTypes. This one is an actual bug; the mismatch can lead to an argument being considered used by a return sub-value that isn't being tracked (and hence is dead by default). It then gets incorrectly eliminated. llvm-svn: 228559
* DeadArgElim: assess uses of entire return value aggregate.Tim Northover2015-02-092-26/+97
| | | | | | | | | | | | | | | | | | | | | | | Previously, a non-extractvalue use of an aggregate return value meant the entire return was considered live (the algorithm gave up entirely). This was correct, but conservative. It's better to actually look at that Use, making the analysis results apply to all sub-values under consideration. E.g. %val = call { i32, i32 } @whatever() [...] ret { i32, i32 } %val The return is using the entire aggregate (sub-values 0 and 1). We can still simplify @whatever if we can prove that this return is itself unused. Also unifies the logic slightly between aggregate and non-aggregate cases.. llvm-svn: 228558
* [Orc] Add a JITSymbol class to the Orc APIs, refactor APIs, update clients.Lang Hames2015-02-0910-163/+227
| | | | | | | | | | | | | | | | This patch refactors a key piece of the Orc APIs: It removes the *::getSymbolAddress and *::lookupSymbolAddressIn methods, which returned target addresses (uint64_ts), and replaces them with *::findSymbol and *::findSymbolIn respectively, which return instances of the new JITSymbol type. Unlike the old methods, calling findSymbol or findSymbolIn does not cause the symbol to be immediately materialized when found. Instead, the symbol will be materialized if/when the getAddress method is called on the returned JITSymbol. This allows us to query for the existence of symbols without actually materializing them. In the future I expect more information to be attached to the JITSymbol class, for example whether the returned symbol is a weak or strong definition. This will allow us to properly handle weak symbols and multiple definitions. llvm-svn: 228557
* InstCombine: propagate nonNull through assumeRamkumar Ramachandra2015-02-092-1/+45
| | | | | | | | | Make assume (load (call|invoke) != null) set nonNull return attribute for the call and invoke. Also include tests. Differential Revision: http://reviews.llvm.org/D7107 llvm-svn: 228556
* [emacs] Get llvm-mode to font-lock "personality"Ramkumar Ramachandra2015-02-091-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D7494 llvm-svn: 228555
* Fix -Wuninitialized build by referencing the relevant ctor parameter instead ↵David Blaikie2015-02-088-8/+8
| | | | | | of the base class member variable. llvm-svn: 228554
* Make PDBSymbol's IPDBSymbol reference const.Zachary Turner2015-02-0864-67/+67
| | | | llvm-svn: 228553
* Bugfix: ScalarEvolution incorrectly assumes that the start of certainSanjoy Das2015-02-082-1/+134
| | | | | | | | | | | | | add recurrences don't overflow. This change makes the optimization more restrictive. It still assumes that an overflowing `add nsw` is undefined behavior; and this change will need revisiting once we have a consistent semantics for poison values. Differential Revision: http://reviews.llvm.org/D7331 llvm-svn: 228552
* [X86] Remove the remaining uses of memop from AVX and AVX2 instruction ↵Craig Topper2015-02-082-237/+211
| | | | | | patterns. AVX and AVX2 can handle unaligned loads being folded so we can just use 'load' llvm-svn: 228551
* Metadata: Use <algorithm> to simplify code. NFC.Benjamin Kramer2015-02-081-30/+12
| | | | llvm-svn: 228550
* fix test attributes; this is an SSE2 test, not a Nehalem testSanjay Patel2015-02-081-1/+1
| | | | llvm-svn: 228546
* fix test attributes; this is an x86-64 test, not a Nehalem testSanjay Patel2015-02-081-1/+1
| | | | llvm-svn: 228545
* fix test attributes; these are SSE2 tests, not Nehalem testsSanjay Patel2015-02-081-2/+2
| | | | llvm-svn: 228544
* Kaleidoscope-Orc: Reuse the IRGen utility function in later chapters, and ↵David Blaikie2015-02-083-20/+40
| | | | | | remove an unused parameter. llvm-svn: 228543
* DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.Zachary Turner2015-02-0865-108/+181
| | | | | | | | | Dumping a symbol often requires access to data that isn't inside the symbol hierarchy, but which is only accessible through the top-level session. This patch is a pure interface change to give symbols a reference to the session. llvm-svn: 228542
* fix test attributes; these are SSE2 tests, not Nehalem testsSanjay Patel2015-02-081-1/+1
| | | | llvm-svn: 228541
* Kaleidoscope-Orc: Extract IRGen work into a utility function.David Blaikie2015-02-081-7/+15
| | | | llvm-svn: 228539
* Constify the Orc Kaleidoscope examples IRGen functions.David Blaikie2015-02-083-66/+66
| | | | llvm-svn: 228537
* fix test attributes; these are x86-64 tests, not Nehalem testsSanjay Patel2015-02-081-1/+1
| | | | llvm-svn: 228536
OpenPOWER on IntegriCloud