summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* IR: Add accessors to MDExpressionDuncan P. N. Exon Smith2015-02-102-0/+13
| | | | | | Add some accessors to `MDExpression`. llvm-svn: 228648
* Verifier: Add simple checks for MDLocationDuncan P. N. Exon Smith2015-02-101-1/+7
| | | | llvm-svn: 228647
* Verifier: Create stubs for specialized metadata nodesDuncan P. N. Exon Smith2015-02-101-0/+37
| | | | llvm-svn: 228645
* AsmParser: Add stubs for specialized MDNodes, NFCDuncan P. N. Exon Smith2015-02-103-37/+109
| | | | | | Well, the exact error from the failed parse will change, but... llvm-svn: 228644
* X86: Emit an ABI compliant prologue and epilogue for Win64David Majnemer2015-02-108-97/+348
| | | | | | | | | | | | | | Win64 has specific contraints on what valid prologues and epilogues look like. This constraint is born from the flexibility and descriptiveness of Win64's unwind opcodes. Prologues previously emitted by LLVM could not be represented by the unwind opcodes, preventing operations powered by stack unwinding to successfully work. Differential Revision: http://reviews.llvm.org/D7520 llvm-svn: 228641
* IR: Add specialized debug info metadata nodesDuncan P. N. Exon Smith2015-02-108-4/+3261
| | | | | | | | | | | | | | | Add specialized debug info metadata nodes that match the `DIDescriptor` wrappers (used by `DIBuilder`) closely. Assembly and bitcode support to follow soon (it'll mostly just be obvious), but this sketches in today's schema. This is the first big commit (well, the only *big* one aside from the testcase changes that'll come when I move this into place) for PR22464. I've marked a bunch of obvious changes as `TODO`s in the source; I plan to make those changes promptly after this hierarchy is moved underneath `DIDescriptor`, but for now I'm aiming mostly to match the status quo. llvm-svn: 228640
* Migrate PPCAsmPrinter's subtarget from reference to pointer inEric Christopher2015-02-101-48/+49
| | | | | | preparation for making it MachineFunction dependent. llvm-svn: 228638
* [Orc] Back out one of the GCC ICE workarounds from r228568. NFC.Lang Hames2015-02-101-2/+2
| | | | llvm-svn: 228637
* Fix the clang -Werror build (-Wunused-variable)David Blaikie2015-02-101-3/+0
| | | | llvm-svn: 228635
* Adjust how we avoid poll insertion inside the poll function (NFC)Philip Reames2015-02-101-5/+11
| | | | | | | | I realized that my early fix for this was overly complicated. Rather than scatter checks around in a bunch of places, just exit early when we visit the poll function itself. Thinking about it a bit, the whole inlining mechanism used with gc.safepoint_poll could probably be cleaned up a bit. Originally, poll insertion was fused with gc relocation rewriting. It might be worth going back to see if we can simplify the chain of events now that these two are seperated. As one thought, maybe it makes sense to rewrite calls inside the helper function before inlining it to the many callers. This would require us to visit the poll function before any other functions though.. llvm-svn: 228634
* Reverting r228628; it broke at least one builder due to the forward declare ↵Aaron Ballman2015-02-101-8/+0
| | | | | | of RaiseException. llvm-svn: 228633
* Debug info: When updating debug info during SROA, do not emit debug infoAdrian Prantl2015-02-092-8/+109
| | | | | | | | | | for any padding introduced by SROA. In particular, do not emit debug info for an alloca that represents only the padding introduced by a previous iteration. Fixes PR22495. llvm-svn: 228632
* Debug info: Use DW_OP_bit_piece instead of DW_OP_piece in theAdrian Prantl2015-02-0918-83/+80
| | | | | | | | | | | intermediate representation. This - increases consistency by using the same granularity everywhere - allows for pieces < 1 byte - DW_OP_piece didn't actually allow storing an offset. Part of PR22495. llvm-svn: 228631
* [Hexagon] Adding missing load instructions and removing an unused multiclass ↵Colin LeMahieu2015-02-091-38/+169
| | | | | | parameter. llvm-svn: 228630
* ADT: Allow up to 18 arguments in hash_combine()Duncan P. N. Exon Smith2015-02-092-0/+334
| | | | | | | | | I just realized that the specialized metadata node patch I'm about to commit won't compile on old compilers. Bump `hash_combine()`'s support for non-variadic templates to 18 (I tested this by reversing the logic in the #ifdef). llvm-svn: 228629
* On Windows, we now use RaiseException to generate the kind of trap we ↵Aaron Ballman2015-02-091-0/+8
| | | | | | require (one which calls our vectored exception handler), and fall back to using a volatile write to simulate a trap elsewhere. llvm-svn: 228628
* [Hexagon] Factoring classes out of some load patterns and deleting some ↵Colin LeMahieu2015-02-091-40/+87
| | | | | | unused ones. llvm-svn: 228627
* [Statepoint] Improve two asserts, fix some style (NFC)Ramkumar Ramachandra2015-02-093-8/+9
| | | | | | | | | | | | | | | Summary: It's important that our users immediately know what gc.safepoint_poll is. Also fix the style of the declaration of CreateGCStatepoint, in preparation for another change that will wrap it. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7517 llvm-svn: 228626
* PlaceSafepoints: modernize gc.result.* -> gc.resultRamkumar Ramachandra2015-02-092-13/+17
| | | | | | Differential Revision: http://reviews.llvm.org/D7516 llvm-svn: 228625
* DebugInfo: Remove DW_TAG_constantDuncan P. N. Exon Smith2015-02-094-35/+1
| | | | | | | | Remove handling for DW_TAG_constant. We started producing it in r110656, but reverted that in r110876 without dropping the support. Finish the job. llvm-svn: 228623
* Update file comment to clarify points highlighted in review (NFC)Philip Reames2015-02-091-31/+30
| | | | llvm-svn: 228621
* Use range for loops in PlaceSafepoints (NFC)Philip Reames2015-02-091-8/+4
| | | | llvm-svn: 228620
* IR: Take uint64_t in DIBuilder::createExpression()Duncan P. N. Exon Smith2015-02-093-5/+12
| | | | | | | | | | | `DIExpression` deals with `uint64_t`, so it doesn't make sense that `createExpression()` is created from `int64_t`. Switch to `uint64_t` to unify them. I've temporarily left in the `int64_t` version, which forwards to the `uint64_t` version. I'll delete it once I've updated the callers. llvm-svn: 228619
* Introduce more tests for PlaceSafepointsPhilip Reames2015-02-093-0/+157
| | | | | | These tests the two optimizations for backedge insertion currently implemented and the split backedge flag which is currently off by default. llvm-svn: 228617
* Revert "Raising minimum required CMake version to 2.8.12.2."Chris Bieneman2015-02-091-1/+15
| | | | | | This reverts commit add62ac537d8249fa2161405066e318ca80e199d. llvm-svn: 228616
* 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
OpenPOWER on IntegriCloud