summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Wrap to 80 columns. No behavior change.Nico Weber2015-01-071-29/+20
| | | | llvm-svn: 225414
* LiveInterval: Implement feedback by Quentin Colombet.Matthias Braun2015-01-071-25/+32
| | | | llvm-svn: 225413
* [GC] improve testing around gc.relocate and fix a testPhilip Reames2015-01-073-14/+51
| | | | | | | | | | | | | | | Patch by: Ramkumar Ramachandra <artagnon@gmail.com> "This patch started out as an exploration of gc.relocate, and an attempt to write a simple test in call-lowering. I then noticed that the arguments of gc.relocate were not checked fully, so I went in and fixed a few things. Finally, the most important outcome of this patch is that my new error handling code caught a bug in a callsite in stackmap-format." Differential Revision: http://reviews.llvm.org/D6824 llvm-svn: 225412
* [CodeGen] Add MVT::isValid to replace manual validity checks. NFC.Ahmed Bougacha2015-01-072-9/+13
| | | | | | | | | | | | | | | Now that we have MVT::FIRST_VALUETYPE (r225362), we can provide a method checking that the MVT is valid, that is, it's in [FIRST_VALUETYPE, LAST_VALUETYPE[. This commit also uses it in a few asserts, that would previously accept invalid MVTs, such as the default constructed -1. In that case, the code following those asserts would do an out-of-bounds array access. Using MVT::isValid, those assertions fail as expected when passed invalid MVTs. It feels clunky to have such a validity checking function, but it's at least better than the alternative of broken manual checks. llvm-svn: 225411
* R600/SI: Commute instructions to enable more folding opportunitiesTom Stellard2015-01-075-23/+55
| | | | llvm-svn: 225410
* Add help text for mmacosx-version-min=, mios-version-min=.Nico Weber2015-01-071-2/+4
| | | | | | | | | I keep forgetting the exact spelling of -macosx-version-min=, and now I can run `bin/clang --help | grep version -A 2` to remind myself. While here, also document -mios-version-min=. Don't document -mios-simulator-version-min= as it's just an alias for -mios-version-min= these days. llvm-svn: 225409
* Missed a typenameMarshall Clow2015-01-071-2/+2
| | | | llvm-svn: 225408
* Fix inlined test cases so they print out the correct command to run when ↵Greg Clayton2015-01-072-47/+46
| | | | | | | | | | | | | they fail instead of printing out incorrect information. To fix this I added a new method to TestBase: def getRerunArgs(self): return " -f %s.%s" % (self.__class__.__name__, self._testMethodName) The InlineTest which inherits from TestBase then overrides this function with a custom version which does the right thing. llvm-svn: 225407
* IR: Add MDNode::getDistinct()Duncan P. N. Exon Smith2015-01-073-4/+62
| | | | | | | | | | Allow distinct `MDNode`s to be explicitly created. There's no way (yet) of representing their distinctness in assembly/bitcode, however, so this still isn't first-class. Part of PR22111. llvm-svn: 225406
* R600/SI: Only fold immediates that have one useTom Stellard2015-01-072-1/+43
| | | | | | | Folding the same immediate into multiple instruction will increase program size, which can hurt performance. llvm-svn: 225405
* Test commit.Sean Silva2015-01-071-2/+2
| | | | | | Hopefully this one won't kill the git mirror... llvm-svn: 225404
* libc++ implements its' hash objects as deriving from std::unary_function, ↵Marshall Clow2015-01-0711-24/+35
| | | | | | and the tests test for that. STL @ MS pointed out that the standard doesn't requie these objects to derive from unary_function, and so the tests should not require that either. Change the tests to check for the embedded typedefs - which ARE required. No change to the library. llvm-svn: 225403
* In C++03, a bunch of the arithmetic/logical/comparison functors (such as ↵Marshall Clow2015-01-074-4/+8
| | | | | | negate/bit_not.pass/logical_not) were defined as deriving from unary_funtion. That restriction was removed in C++11, but the tests still check for this. Change the test to look for the embedded types first_argument/second_argument/result_type. No change to the library, just more standards-compliant tests. Thanks to STL @ Microsoft for the suggestion. llvm-svn: 225402
* IR: Add MDNode::isDistinct()Duncan P. N. Exon Smith2015-01-072-0/+33
| | | | | | | | | | | | Add API to indicate whether an `MDNode` is distinct. A distinct node is not stored in the MDNode uniquing tables, and will never be returned by `MDNode::get()`. Although distinct nodes are only currently created by uniquing collisions (when operands change), PR22111 will allow these nodes to be explicitly created. llvm-svn: 225401
* [LangRef] PR22118: Hyphen is allowed in IR identifiers.Sean Silva2015-01-071-1/+1
| | | | | | | | E.g. %-foo and %fo-o. Thanks to eagle-eyed reporter Tomas Brukner. llvm-svn: 225400
* Update a comment.Adrian Prantl2015-01-071-0/+2
| | | | llvm-svn: 225399
* lldb-platform - static link all llvm dependenciesVince Harron2015-01-072-2/+34
| | | | | | | | | | | | Differential Revision: http://reviews.llvm.org/D6797 lldb-gdbserver statically links all llvm dependencies. This allows dead stripping code and reduces total binary size. This change modifies lldb-plaform to static link llvm dependencies like lldb-gdbserver. llvm-svn: 225398
* Linker: Don't use MDNode::replaceOperandWith()Duncan P. N. Exon Smith2015-01-075-11/+61
| | | | | | | | | | | `MDNode::replaceOperandWith()` changes all instances of metadata. Stop using it when linking module flags, since (due to uniquing) the flag values could be used by other metadata. Instead, use new API `NamedMDNode::setOperand()` to update the reference directly. llvm-svn: 225397
* todo: Remove some redundant topicsTobias Grosser2015-01-071-18/+0
| | | | llvm-svn: 225395
* Test commit to check the new git mirror.Chandler Carruth2015-01-071-0/+1
| | | | llvm-svn: 225394
* XFAIL several MCJIT EH tests under ASan and MSan bootstrap.Alexey Samsonov2015-01-074-4/+4
| | | | llvm-svn: 225393
* [CodeGen] Use MVT iterator_ranges in legality loops. NFC intended.Ahmed Bougacha2015-01-077-103/+59
| | | | | | | | A few loops do trickier things than just iterating on an MVT subset, so I'll leave them be for now. Follow-up of r225387. llvm-svn: 225392
* www: Make sure the main content pane does not overlap with the menuTobias Grosser2015-01-071-2/+2
| | | | llvm-svn: 225391
* todo: Adding native OpenSCoP support to Polly does not seem desirableTobias Grosser2015-01-071-5/+0
| | | | | | | | This would add another library dependency to Polly. In many cases the JSCoP interface we have should be enough and an external JSCoP <> OpenSCoP converter could be written. We can reconsider this if new use cases show up. llvm-svn: 225390
* Handle OpaqueValueExprs more intelligently in the TransformTypos treeKaelyn Takata2015-01-074-1/+17
| | | | | | | | | | | | transform. Also diagnose typos in the initializer of an invalid C++ declaration. Both issues were hit using the same line of test code, depending on whether the code was treated as C or C++. Fixes PR22092. llvm-svn: 225389
* Add updated TODO listTobias Grosser2015-01-071-5/+220
| | | | llvm-svn: 225388
* [CodeGen] Add iterator_range for the MVT::SimpleValueType enum.Ahmed Bougacha2015-01-071-0/+47
| | | | | | | | | This commit adds a simple iterator over that enum, and a few functions to create iterator ranges over the most common types. Differential Revision: http://reviews.llvm.org/D6537 llvm-svn: 225387
* Fix uninitialized memory read in llvm-dsymutil for the second time.Alexey Samsonov2015-01-071-1/+2
| | | | | | | This was already fixed by r224481, but apparently was accidentally reverted in r225207. llvm-svn: 225386
* Add a test that would have found the issue in r224935.Rafael Espindola2015-01-071-0/+24
| | | | llvm-svn: 225385
* [git] Mark the llgo directory in the LLVM gitignore.Chandler Carruth2015-01-071-0/+2
| | | | llvm-svn: 225384
* Slightly refactor things for llvm-objdump and the -macho option so it can be ↵Kevin Enderby2015-01-074-47/+104
| | | | | | | | | | | | used with options other than just -disassemble so that universal files can be used with other options combined with -arch options. No functional change to existing options and use. One test case added for the additional functionality with a universal file an a -arch option. llvm-svn: 225383
* R600/SI: Remove VReg_32 register classTom Stellard2015-01-0713-154/+152
| | | | | | | | | | | Use VGPR_32 register class instead. These two register classes were identical and having separate classes was causing SIInstrInfo::isLegalOperands() to be overly conservative in some cases. This change is necessary to prevent future paches from missing a folding opportunity in fneg-fabs.ll. llvm-svn: 225382
* Add tests to check the typedefs from the result of std::owner_lessMarshall Clow2015-01-071-0/+8
| | | | llvm-svn: 225381
* More FMA folding opportunities.Olivier Sallenave2015-01-073-1/+305
| | | | llvm-svn: 225380
* Reapply: Teach SROA how to update debug info for fragmented variables.Adrian Prantl2015-01-075-12/+326
| | | | | | | | The two buildbot failures were addressed in LLVM r225378 and CFE r225359. This rapplies commit 225272 without modifications. llvm-svn: 225379
* Debug info: Allow aggregate types to be described by constants.Adrian Prantl2015-01-072-2/+123
| | | | llvm-svn: 225378
* [Hexagon] Fix 225372 USR register is not fully complete. Removing Uses = ↵Colin LeMahieu2015-01-071-12/+12
| | | | | | [USR] maintains existing functionality to old instructions without encodings. llvm-svn: 225377
* Missed one comparison test in r225375Marshall Clow2015-01-071-1/+3
| | | | llvm-svn: 225376
* In C++03, a bunch of the arithmetic/logical/comparison functors (such as ↵Marshall Clow2015-01-0716-16/+48
| | | | | | add/equal_to/logical_or) were defined as deriving from binary_funtion. That restriction was removed in C++11, but the tests still check for this. Change the test to look for the embedded types first_argument/second_argument/result_type. No change to the library, just more standards-compliant tests. Thanks to STL @ Microsoft for the suggestion. llvm-svn: 225375
* [Hexagon] Adding floating point classification and creation.Colin LeMahieu2015-01-072-0/+57
| | | | llvm-svn: 225374
* R600/SI: Add a V_MOV_B64 pseudo instructionTom Stellard2015-01-076-30/+57
| | | | | | | This is used to simplify the SIFoldOperands pass and make it easier to fold immediates. llvm-svn: 225373
* [Hexagon] Adding encodings for v5 floating point instructions.Colin LeMahieu2015-01-072-0/+424
| | | | llvm-svn: 225372
* [Hexagon] Adding encoding for popcount, fastcorner, dword asr with rounding.Colin LeMahieu2015-01-075-1/+70
| | | | llvm-svn: 225371
* XFAIL AArch64 UBsan test, just like ARMRenato Golin2015-01-071-0/+1
| | | | llvm-svn: 225370
* R600/SI: Teach SIFoldOperands to split 64-bit constants when foldingTom Stellard2015-01-076-33/+76
| | | | | | | | | | | | | | | This allows folding of sequences like: s[0:1] = s_mov_b64 4 v_add_i32 v0, s0, v0 v_addc_u32 v1, s1, v1 into v_add_i32 v0, 4, v0 v_add_i32 v1, 0, v1 llvm-svn: 225369
* Test commitOlivier Sallenave2015-01-071-0/+1
| | | | llvm-svn: 225368
* [X86] Fix 512->256 typo in comments. NFC.Ahmed Bougacha2015-01-071-2/+2
| | | | llvm-svn: 225367
* Add a missing file from 225365Philip Reames2015-01-071-0/+54
| | | | llvm-svn: 225366
* Introduce an example statepoint GC strategyPhilip Reames2015-01-078-6/+81
| | | | | | | | | | | | | | This change includes the most basic possible GCStrategy for a GC which is using the statepoint lowering code. At the moment, this GCStrategy doesn't really do much - aside from actually generate correct stackmaps that is - but I went ahead and added a few extra correctness checks as proof of concept. It's mostly here to provide documentation on how to do one, and to provide a point for various optimization legality hooks I'd like to add going forward. (For context, see the TODOs in InstCombine around gc.relocate.) Most of the validation logic added here as proof of concept will soon move in to the Verifier. That move is dependent on http://reviews.llvm.org/D6811 There was discussion in the review thread about addrspace(1) being reserved for something. I'm going to follow up on a seperate llvmdev thread. If needed, I'll update all the code at once. Note that I am deliberately not making a GCStrategy required to use gc.statepoints with this change. I want to give folks out of tree - including myself - a chance to migrate. In a week or two, I'll make having a GCStrategy be required for gc.statepoints. To this end, I added the gc tag to one of the test cases but not others. Differential Revision: http://reviews.llvm.org/D6808 llvm-svn: 225365
* Slightly simplify the test from r225361.Nico Weber2015-01-071-22/+7
| | | | | | | | Shorter and doesn't need -O2 -- but still suboptimal as it's still doing -emit-obj. dblaikie says he'll improve this when he'll reland his change with a fix. llvm-svn: 225364
OpenPOWER on IntegriCloud