summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Basic: [asmSymbolicName] follows the same rule as numbers in asm inputsDavid Majnemer2015-01-112-0/+11
| | | | | | | | | Input constraints like "0" and "[foo]" should be treated the same when it comes to their corresponding output constraint. This fixes PR21850. llvm-svn: 225605
* Got C++ unit tests running on Linux againVince Harron2015-01-111-3/+8
| | | | llvm-svn: 225604
* Basic: The asm constraint '#m' isn't valid, reject itDavid Majnemer2015-01-112-1/+14
| | | | llvm-svn: 225603
* CodeGen: Simplify consecutive '%' modifiersDavid Majnemer2015-01-112-2/+10
| | | | | | LLVM the consecutive '%' modifiers are redundant, skip them. llvm-svn: 225602
* CodeGen: Simplify consecutive '&' modifiersDavid Majnemer2015-01-112-0/+12
| | | | | | LLVM the consecutive '&' modifiers are redundant, skip them. llvm-svn: 225601
* Basic: The asm constraint '+#r' isn't valid, reject itDavid Majnemer2015-01-112-1/+11
| | | | llvm-svn: 225600
* Revert most of r225597David Majnemer2015-01-115-72/+45
| | | | | | We can't rely on a DataLayout enlightened constant folder. llvm-svn: 225599
* Change a couple more template parameter names from 'T' to '_Tp', etc. Thanks ↵Marshall Clow2015-01-112-10/+10
| | | | | | to Ondřej Majerech for the patch, but I did a bit more. llvm-svn: 225598
* X86: Properly decode shuffle masks when the constant pool type is weirdDavid Majnemer2015-01-115-66/+90
| | | | | | | | | | | | | It's possible for the constant pool entry for the shuffle mask to come from a completely different operation. This occurs when Constants have the same bit pattern but have different types. Make DecodePSHUFBMask tolerant of types which, after a bitcast, are appropriately sized vector types. This fixes PR22188. llvm-svn: 225597
* X86: teach X86TargetLowering about L,M,O constraintsSaleem Abdulrasool2015-01-112-0/+59
| | | | | | | | | Teach the ISelLowering for X86 about the L,M,O target specific constraints. Although, for the moment, clang performs constraint validation and prevents passing along inline asm which may have immediate constant constraints violated, the backend should be able to cope with the invalid inline asm a bit better. llvm-svn: 225596
* ARM: add support for segment base relocations (SBREL)Saleem Abdulrasool2015-01-116-0/+47
| | | | | | | | This adds support for parsing and emitting the SBREL relocation variant for the ARM target. Handling this relocation variant is necessary for supporting the full ARM ELF specification. Addresses PR22128. llvm-svn: 225595
* Don't rely on the default constructor default constructing a begin andChandler Carruth2015-01-112-3/+10
| | | | | | | | | | | | end iterator for iterator_range<>. I removed this constructor because for some iterators (notably pointers) it left begin and end uninitialized. It also is an usual constraint that an iterator default constructs to a valid end iterator such that the pair of them for a valid range. In the three places where this was used in Clang, explicitly build the empty range from the iterators and comment on why default constructed iterators make sense here. llvm-svn: 225594
* [x86] Remove some windows line endings that snuck into the tests here.Chandler Carruth2015-01-118-463/+463
| | | | | | | Folks on Windows, remember to set up your subversion to strip these when submitting... llvm-svn: 225593
* [ADT] Remove the unused default constructor for iterator_range.Chandler Carruth2015-01-111-1/+0
| | | | | | | | | | This default constructor is a bit weird. It left the range in an invalid state. That might be reasonable so that you can construct a local iterator range and assign to it based on some logic to compute the range you want. If folks would like to support that use case, I can add it back, but in 238-odd usages none have actually wanted to do this. ;] llvm-svn: 225592
* Fix PR22179.Sanjoy Das2015-01-104-44/+63
| | | | | | | | | | | We were incorrectly inferring nsw for certain SCEVs. We can be more aggressive here (see Richard Smith's comment on http://llvm.org/bugs/show_bug.cgi?id=22179) but this change just focuses on correctness. Differential Revision: http://reviews.llvm.org/D6914 llvm-svn: 225591
* Revert r225500, it leads to infinite loops.Joerg Sonnenberger2015-01-101-9/+15
| | | | llvm-svn: 225590
* [X86][SSE] Improved (v)insertps shuffle matchingSimon Pilgrim2015-01-104-61/+111
| | | | | | | | | | | | In the current code we only attempt to match against insertps if we have exactly one element from the second input vector, irrespective of how much of the shuffle result is zeroable. This patch checks to see if there is a single non-zeroable element from either input that requires insertion. It also supports matching of cases where only one of the inputs need to be referenced. We also split insertps shuffle matching off into a new lowerVectorShuffleAsInsertPS function. Differential Revision: http://reviews.llvm.org/D6879 llvm-svn: 225589
* .gitignore: add some rules for tagging programsRamkumar Ramachandra2015-01-101-0/+7
| | | | | | | | | Often, we miss committing new files, and 'arc diff' is supposed to warn us about this. Unfortunately, because of the spurious output of the command (due to unignored untracked files), we tend to ignore it and lose information. llvm-svn: 225588
* fix pr18645. Correct logic concerning 'T &&' deduction against lvalues.Nathan Sidwell2015-01-102-30/+22
| | | | llvm-svn: 225587
* Sema: The asm constraint '+&m' isn't valid, reject itDavid Majnemer2015-01-103-0/+16
| | | | | | Don't permit '+&m' to make it to CodeGen, it's invalid. llvm-svn: 225586
* Add RegisterNumber.cpp.Jason Molenda2015-01-101-0/+1
| | | | llvm-svn: 225585
* [PowerPC] Mark zext of a small scalar load as freeHal Finkel2015-01-103-0/+59
| | | | | | | | | | | | | This initial implementation of PPCTargetLowering::isZExtFree marks as free zexts of small scalar loads (that are not sign-extending). This callback is used by SelectionDAGBuilder's RegsForValue::getCopyToRegs, and thus to determine whether a zext or an anyext is used to lower illegally-typed PHIs. Because later truncates of zero-extended values are nops, this allows for the elimination of later unnecessary truncations. Fixes the initial complaint associated with PR22120. llvm-svn: 225584
* Remove some whitespace.Justin Hibbits2015-01-101-1/+1
| | | | llvm-svn: 225583
* Check assert before the instruction that uses the assumption checked.Tobias Grosser2015-01-101-2/+3
| | | | | | I did not find a good test case, as the assert should generally hold in Polly. llvm-svn: 225582
* Add a new warning, -Wself-move, to Clang.Richard Trieu2015-01-104-1/+132
| | | | | | | | -Wself-move is similiar to -Wself-assign. This warning is triggered when a value is attempted to be moved to itself. See r221008 for a bug that would have been caught with this warning. llvm-svn: 225581
* ConvertUTFTest: fix misleading empty lineDmitri Gribenko2015-01-101-1/+1
| | | | llvm-svn: 225580
* Forgot to include RegisterNumber.h in prev commit.Jason Molenda2015-01-101-0/+66
| | | | llvm-svn: 225579
* Hoist the RegisterNumber class out of RegisterContextLLDB and makeJason Molenda2015-01-107-162/+350
| | | | | | | | | | | | | | | it more generally available. Add checks to UnwindAssembly_x86::AugmentUnwindPlanFromCallSite() so that it won't try to augment an UnwindPlan that already describes the function epilogue. Add a test case for backtracing out of _sigtramp on Darwin systems. This could probably be adapted to test the same thing on linux/bsd but the function names of sigtramp and kill are probably platform specific and I'm not sure what they should be. llvm-svn: 225578
* tests: fix previous commitSaleem Abdulrasool2015-01-101-10/+6
| | | | | | | The previous commit accidentally missed changes to the test output checking, resulting in an errant failure. llvm-svn: 225577
* test: merge ARM relocations testSaleem Abdulrasool2015-01-102-17/+15
| | | | | | | | There is a fair number of relocations that are part of the AAELF specification. Simply merge the tests into a single test file, otherwise, we will end up with far too many test files to test each relocation type. NFC. llvm-svn: 225576
* tests: convert a couple of ARM relocation tests to readobjSaleem Abdulrasool2015-01-102-8/+16
| | | | | | | These tests are checking the relocation generation. Use the readobj output as it is much easier to follow when glancing over the tests. llvm-svn: 225575
* Don't fail if parent directory name contains a '+' characterGreg Fitzgerald2015-01-102-5/+5
| | | | | | Differential Revision: http://reviews.llvm.org/D6902 llvm-svn: 225574
* Fully fix Bug #22115.Justin Hibbits2015-01-104-11/+68
| | | | | | | | | | | | | | | | | Summary: In the previous commit, the register was saved, but space was not allocated. This resulted in the parameter save area potentially clobbering r30, leading to nasty results. Test Plan: Tests updated Reviewers: hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6906 llvm-svn: 225573
* Add C++ breakpoint tests where names are partially specified to ensure we ↵Greg Clayton2015-01-103-0/+159
| | | | | | | | | | don't regress on this again. Top of tree never regressed, but we have internal branches that we constantly merge and we need to make sure we don't regress. <rdar://problem/19429907> llvm-svn: 225572
* Fix temporary lifetime extension from an initializer using braced "functional"Richard Smith2015-01-102-7/+14
| | | | | | cast notation T{...} when T is a reference type. llvm-svn: 225571
* Don't emit implicit template instantiations eagerly (PR21718)Hans Wennborg2015-01-104-17/+69
| | | | | | | | | | | | | | Their linkage can change if they are later explicitly instantiated. We would previously emit such functions eagerly (as opposed to lazily on first use) if they have a 'dllexport' or 'used' attribute, and fail an assert when hitting the explicit instantiation. This is achieved by replacing the old CodeGenModule::MayDeferGeneration() method with two new ones: MustBeEmitted() and MayBeEmittedEagerly(). Differential Revision: http://reviews.llvm.org/D6674 llvm-svn: 225570
* Fix undefined behavior (shift of negative value) in ↵Alexey Samsonov2015-01-101-2/+2
| | | | | | | | | | | | | | RuntimeDyldMachOAArch64::encodeAddend. Test Plan: regression test suite with/without UBSan. Reviewers: lhames, ributzka Subscribers: aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D6908 llvm-svn: 225568
* Respect the fact that the result object claims it doesn't want to be ↵Greg Clayton2015-01-101-12/+17
| | | | | | | | | | interactive by not forwarding STDIN to the python invocation when it isn't desired. This fixes an issue of running "script" commands via SBDebugger::HandleCommand(...) and SBCommandInterpreter::HandleCommand(...) deadlocking Xcode. <rdar://problem/18075038> llvm-svn: 225567
* [PowerPC] Readjust the loop unrolling thresholdHal Finkel2015-01-103-6/+54
| | | | | | | | Now that the way that the partial unrolling threshold for small loops is used to compute the unrolling factor as been corrected, a slightly smaller threshold is preferable. This is expected; other targets may need to re-tune as well. llvm-svn: 225566
* [LoopUnroll] Fix the partial unrolling threshold for small loop sizesHal Finkel2015-01-103-7/+31
| | | | | | | | | | | | | When we compute the size of a loop, we include the branch on the backedge and the comparison feeding the conditional branch. Under normal circumstances, these don't get replicated with the rest of the loop body when we unroll. This led to the somewhat surprising behavior that really small loops would not get unrolled enough -- they could be unrolled more and the resulting loop would be below the threshold, because we were assuming they'd take (LoopSize * UnrollingFactor) instructions after unrolling, instead of (((LoopSize-2) * UnrollingFactor)+2) instructions. This fixes that computation. llvm-svn: 225565
* [TestInferiorAssert] Differentiate DWARF and DSYM tests with suffixes.Siva Chandra2015-01-101-4/+4
| | | | | | | | | | | | Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6907 llvm-svn: 225564
* Support Newlib as libc++'s C library [cstdio part, part 2]Jonathan Roelofs2015-01-101-0/+18
| | | | | | | | Wrappers for clearerr, feof, ferror (which newlib implements as macros). http://reviews.llvm.org/D5420 llvm-svn: 225563
* Use the DiagnosticHandler to print diagnostics when reading bitcode.Rafael Espindola2015-01-1011-368/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bitcode reading interface used std::error_code to report an error to the callers and it is the callers job to print diagnostics. This is not ideal for error handling or diagnostic reporting: * For error handling, all that the callers care about is 3 possibilities: * It worked * The bitcode file is corrupted/invalid. * The file is not bitcode at all. * For diagnostic, it is user friendly to include far more information about the invalid case so the user can find out what is wrong with the bitcode file. This comes up, for example, when a developer introduces a bug while extending the format. The compromise we had was to have a lot of error codes. With this patch we use the DiagnosticHandler to communicate with the human and std::error_code to communicate with the caller. This allows us to have far fewer error codes and adds the infrastructure to print better diagnostics. This is so because the diagnostics are printed when he issue is found. The code that detected the problem in alive in the stack and can pass down as much context as needed. As an example the patch updates test/Bitcode/invalid.ll. Using a DiagnosticHandler also moves the fatal/non-fatal error decision to the caller. A simple one like llvm-dis can just use fatal errors. The gold plugin needs a bit more complex treatment because of being passed non-bitcode files. An hypothetical interactive tool would make all bitcode errors non-fatal. llvm-svn: 225562
* Remove unnecessary/incorrect XFAIL after the revert of 225000David Blaikie2015-01-091-2/+0
| | | | llvm-svn: 225561
* Revert "Reapply debug info changes now that more precise column information ↵David Blaikie2015-01-092-2/+2
| | | | | | | | | | is available." While the clang patch is reverted pending investigation/fixes. This reverts commit r225001. llvm-svn: 225560
* clang-format: [Java] Support formatting qualified annotations.Nico Weber2015-01-093-23/+45
| | | | llvm-svn: 225559
* Fix UBSan error reports in ValueMapCallbackVH and AssertingVH<T> ↵Alexey Samsonov2015-01-092-32/+27
| | | | | | | | | | | | | | | | | | empty/tombstone keys generation. Summary: One more attempt to fix UBSan reports: make sure DenseMapInfo::getEmptyKey() and DenseMapInfo::getTombstoneKey() doesn't do any upcasts/downcasts to/from Value*. Test Plan: check-llvm test suite with/without UBSan bootstrap Reviewers: chandlerc, dexonsmith Subscribers: llvm-commits, majnemer Differential Revision: http://reviews.llvm.org/D6903 llvm-svn: 225558
* Disable Go bindings test under UBSan.Alexey Samsonov2015-01-091-1/+1
| | | | llvm-svn: 225557
* Remove AsanInterceptsSignal in favor of (equivalent) IsDeadlySignal.Alexey Samsonov2015-01-094-16/+3
| | | | llvm-svn: 225556
* Revert "DebugInfo: Generalize debug info location handling" and related commitsDavid Blaikie2015-01-0919-156/+220
| | | | | | | | | | | | This reverts commit r225000, r225021, r225083, r225086, r225090. The root change (r225000) still has several issues where it's caused calls to be emitted without debug locations. This causes assertion failures if/when those calls are inlined. I'll work up some test cases and fixes before recommitting this. llvm-svn: 225555
OpenPOWER on IntegriCloud