summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [SimplifyLibCalls] Factor out signature checks for fortifiable libcalls.Ahmed Bougacha2015-01-121-27/+73
| | | | | | | | | The checks are the same for fortified counterparts to the libcalls, so we might as well do them in a single place. Differential Revision: http://reviews.llvm.org/D6539 llvm-svn: 225638
* [asan] Fix uninit in coverage.Evgeniy Stepanov2015-01-121-6/+30
| | | | | | | pc_fd was not initialized to (-1) on some code paths, resulting in the program erroneously closing stdin when reinitializing coverage. llvm-svn: 225637
* [asan] Pass activation options in the android test runner.Evgeniy Stepanov2015-01-121-1/+1
| | | | llvm-svn: 225636
* Fix two extra semicolon warningsEhsan Akhgari2015-01-122-2/+3
| | | | | | | | | | Reviewers: timurrrr Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6890 llvm-svn: 225635
* Fix vexing parse in test.Eric Fiselier2015-01-121-1/+1
| | | | llvm-svn: 225633
* [mips] Explain why we need to always clobber for MIPS inline asm. NFC.Toma Tabacu2015-01-121-0/+21
| | | | llvm-svn: 225632
* [ASan] Handle SIGBUS on Linux.Jay Foad2015-01-122-1/+65
| | | | | | | | | | | | | | | | | | Summary: On Linux in some situations we can get SIGBUS instead of SIGSEGV on stack overflow, so asan should handle SIGBUS as well as SIGSEGV. https://code.google.com/p/address-sanitizer/issues/detail?id=369 Reviewers: samsonov, glider Reviewed By: glider Subscribers: glider, llvm-commits Differential Revision: http://reviews.llvm.org/D6923 llvm-svn: 225630
* Make LoopConvert work with containers that are used like arrays.Daniel Jasper2015-01-122-0/+28
| | | | llvm-svn: 225629
* Fix assertion in BreakableBlockComment (http://llvm.org/PR21916).Alexander Kornienko2015-01-123-1/+18
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6894 llvm-svn: 225628
* [mips][microMIPS] Implement BEQZ16 and BNEZ16 instructionsJozef Kolek2015-01-1216-0/+166
| | | | | | Differential Revision: http://reviews.llvm.org/D5271 llvm-svn: 225627
* Suppress clang/test/Driver/rewrite-map-in-diagnostics.c on win32 for now. ↵NAKAMURA Takumi2015-01-121-0/+3
| | | | | | This doesn't fail on "env clang". Investigating. llvm-svn: 225626
* clang-format: Improve format of lambdas in ctor initializers.Daniel Jasper2015-01-122-0/+5
| | | | | | | | | | | | | | | | Before: Constructor() : Constructor([] { // comment int i; }) {} After: Constructor() : Constructor([] { // comment int i; }) {} llvm-svn: 225625
* Rename RefersToCapturedVariable to RefersToEnclosingVariableOrCapture, NFCAlexey Bataev2015-01-1217-61/+68
| | | | llvm-svn: 225624
* clang-format: Fix formatting of inline asm.Daniel Jasper2015-01-122-4/+8
| | | | | | | | | Specifically, adjust the leading "__asm {" and trailing "}" while still leaving the assembly inside it alone. This fixes llvm.org/PR22190. llvm-svn: 225623
* Parse: Get rid of cxx_exceptspec_end, use EOF insteadDavid Majnemer2015-01-123-4/+7
| | | | | | | | Similar to r225619, use a special EOF token to mark the end of the exception specification instead of cxx_exceptspec_end. Use the current scope as the marker. llvm-svn: 225622
* Put this test's input in the Inputs directory where it belongs, rather thanRichard Smith2015-01-122-2/+2
| | | | | | reusing a file from a different test directory. llvm-svn: 225621
* Parse: Just a small tidy-up in ParseLexedMethodDeclarationDavid Majnemer2015-01-121-5/+7
| | | | | | No functional change intended, just tidy up the parse flow. llvm-svn: 225620
* Parse: Get rid of tok::cxx_defaultarg_end, use EOF insteadDavid Majnemer2015-01-124-9/+9
| | | | | | | I added setEofData/getEofData to solve this sort of problem back in r224505. Use the Param's decl to tell us if this is *our* EOF token. llvm-svn: 225619
* Add a new utility script that helps update very simple regression tests.Chandler Carruth2015-01-121-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script is currently specific to x86 and limited to use with very small regression or feature tests using 'llc' and 'FileCheck' in a reasonably canonical way. It is in no way general purpose or robust at this point. However, it works quite well for simple examples. Here is the intended workflow: - Make a change that requires updating N test files and M functions' assertions within those files. - Stash the change. - Update those N test files' RUN-lines to look "canonical"[1]. - Refresh the FileCheck lines for either the entire file or select functions by running this script. - The script will parse the RUN lines and run the 'llc' binary you give it according to each line, collecting the asm. - It will then annotate each function with the appropriate FileCheck comments to check every instruction from the start of the first basic block to the last return. - There will be numerous cases where the script either fails to remove the old lines, or inserts checks which need to be manually editted, but the manual edits tend to be deletions or replacements of registers with FileCheck variables which are fast manual edits. - A common pattern is to have the script insert complete checking of every instruction, and then edit it down to only check the relevant ones. - Be careful to do all of these cleanups though! The script is designed to make transferring and formatting the asm output of llc into a test case fast, it is *not* designed to be authoratitive about what constitutes a good test! - Commit the nice fresh baseline of checks. - Unstash your change and rebuild llc. - Re-run script to regenerate the FileCheck annotations - Remember to re-cleanup these annotations!!! - Check the diff to make sure this is sane, checking the things you expected it to, and check that the newly updated tests actually pass. - Profit! Also, I'm *terrible* at writing Python, and frankly I didn't spend a lot of time making this script beautiful or well engineered. But it's useful to me and may be useful to others so I thought I'd send it out. http://reviews.llvm.org/D5546 llvm-svn: 225618
* [PowerPC] Fix calls to non-function objectsHal Finkel2015-01-122-5/+91
| | | | | | | | | | | | | | | | | | Looking at r225438 inspired me to see how the PowerPC backend handled the situation (calling a bitcasted TLS global), and it turns out we also produced an error (cannot select ...). What it means to "call" something that is not a function is implementation and platform specific, but in the name of doing something (besides crashing), this makes sure we do what GCC does (treat all such calls as calls through a function pointer -- meaning that the pointer is assumed, as is the convention on PPC, to point to a function descriptor structure holding the actual code address along with the function's TOC pointer and environment pointer). As GCC does, we now do the same for calling regular (non-TLS) non-function globals too. I'm not sure whether this is the most useful way to define the behavior, but at least we won't be alone. llvm-svn: 225617
* Parse: It's cleaner to handle cxx_defaultarg_end in SkipUntil directlyDavid Majnemer2015-01-124-13/+11
| | | | llvm-svn: 225616
* Parse: Don't let BalancedDelimiterTracker consume cxx_defaultarg_endDavid Majnemer2015-01-122-1/+6
| | | | | | | | It is not correct to let it consume the cxx_defaultarg_end token. I'm starting to wonder if it makes more sense to stop SkipUntil from consuming such tokens. llvm-svn: 225615
* Driver: include rewrite maps in the diagnosticsSaleem Abdulrasool2015-01-122-0/+14
| | | | | | | | The rewrite map files are not copied, and so cannot be tracked as temporary files. Add them explicitly to the list of files that we request from the user to be attached to bug reports. llvm-svn: 225614
* Parse: Don't parse beyond the end of the synthetic default argument tokDavid Majnemer2015-01-122-3/+15
| | | | | | | | Recovery from malformed lambda introducers would find us consuming the synthetic default argument token, which is bad. Instead, stop right before that token. llvm-svn: 225613
* [X86][SSE] Minor fix to VPBLENDW AVX2 commutation.Simon Pilgrim2015-01-111-3/+3
| | | | | | D6015 / rL221313 enabled commutation for SSE immediate blend instructions, but due to a typo the AVX2 VPBLENDW ymm instructions weren't flagged as commutative along with the others in the tables, but were still being commuted in code and tested for. llvm-svn: 225612
* Fix for lldb-platform linking error on OSX/CMakeVince Harron2015-01-111-0/+6
| | | | | | | | Tested on Linux and OSX Submitted for Bob Campbell llvm-svn: 225611
* Add FreeBSD support for __clear_cache.Roman Divacky2015-01-111-1/+6
| | | | llvm-svn: 225610
* One more #include request in the test suite from Walter BrownMarshall Clow2015-01-111-0/+1
| | | | llvm-svn: 225609
* Fix silly mistake in release notes for Mips.Daniel Sanders2015-01-111-1/+1
| | | | llvm-svn: 225608
* Added release notes for the Mips target.Daniel Sanders2015-01-111-1/+68
| | | | llvm-svn: 225607
* Basic: Numeric constraints are multidigitDavid Majnemer2015-01-112-3/+16
| | | | | | | Clang would treat the digits in an "11m" input constraint separately as if it was handling constraint 1 twice instead of constraint 11. llvm-svn: 225606
* 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
OpenPOWER on IntegriCloud