summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ASan] Fix leaks in ASan tests found by LSanAlexey Samsonov2013-07-181-0/+2
| | | | llvm-svn: 186577
* Change 'n' to 'N' to keep consistent with other instructions.Joey Gouly2013-07-181-4/+4
| | | | llvm-svn: 186576
* cpp11-migrate: Use test fixture in preparation for more testsEdwin Vane2013-07-181-20/+67
| | | | | | | Existing tests are not changed but the set-up work is moved into a fixture to simplify forthcoming new tests. llvm-svn: 186575
* [ARMv8] Add NEON instructions VCVT{A, N, P, M}.Joey Gouly2013-07-187-0/+220
| | | | llvm-svn: 186574
* [SystemZ] Use RNSBGRichard Sandiford2013-07-183-21/+324
| | | | | | This should be the last of the R.SBG patches for now. llvm-svn: 186573
* Add Thumb tests for the ARMv8 FP instructions that I recently added.Joey Gouly2013-07-183-2/+295
| | | | | | Also, fix the namespace for two instructions that I missed previously. llvm-svn: 186572
* [SystemZ] Generalize RxSBG SRA caseRichard Sandiford2013-07-182-27/+74
| | | | | | | | | The original code only folded SRA into ROTATE ... SELECTED BITS if there was no outer shift. This patch splits out that check and generalises it slightly. The extra cases aren't really that interesting, but this is paving the way for RNSBG support. llvm-svn: 186571
* [SystemZ] Use RXSBGRichard Sandiford2013-07-182-11/+128
| | | | | | Extend the previous R.SBG patches to handle XORs. llvm-svn: 186570
* [SystemZ] Rename and formatting fixesRichard Sandiford2013-07-181-64/+61
| | | | | | | | | | | | In hindsight, using "RISBG" for something that can be any type of R.SBG instruction was a bit confusing, so this renames it to RxSBG. That might not be the best choice either, since there is an instruction called RXSBG, but hopefully the lower-case letter stands out enough. While there I fixed a couple of GNUisms that had crept in -- sorry about that! llvm-svn: 186569
* Remove the extra leading 0 from VMAXNMND.Joey Gouly2013-07-181-1/+1
| | | | | | | | The N3VDIntnp pattern takes bits<5> and I gave it 6 bits. Thanks to Jiangning Liu for spotting it! llvm-svn: 186568
* This patch extends mips register parsing methods to allow indexed register ↵Vladimir Medic2013-07-182-0/+16
| | | | | | parsing. The corresponding test cases are added to the patch. llvm-svn: 186567
* Fix copy and paste bug from r186491 to make v2f64 use MOVAPD/MOVUPD as it ↵Craig Topper2013-07-182-2/+18
| | | | | | should. llvm-svn: 186566
* Reapply r186316 with a fix for one bug where the code could walk off theChandler Carruth2013-07-182-1256/+977
| | | | | | | | | | | | end of a vector. This was found with ASan. I've had one other report of a crasher, but thus far been unable to reproduce the crash. It may well be fixed with this version, and if not I'd like to get more information from the build bots about what is happening. See r186316 for the full commit log for the new implementation of the SROA algorithm. llvm-svn: 186565
* Fix volatile _Complex alignment test on platforms where 64-bit floating ↵JF Bastien2013-07-181-6/+14
| | | | | | | | point isn't 64-bit aligned Add x86-64 triple, and check its datalayout. Also add some comments, and use the new CHECK-LABEL. llvm-svn: 186564
* SLPVectorizer: Speedup isConsecutive (that checks if two addresses are ↵Nadav Rotem2013-07-181-12/+31
| | | | | | consecutive in memory) by checking for additional patterns that don't need to go through SCEV. llvm-svn: 186563
* PPC: Support dynamic allocas with large alignmentHal Finkel2013-07-183-27/+92
| | | | | | | | | | | | | | | Support for dynamic stack alignments in the PPC backend has been unfinished, in part because it depends on dynamic stack realignment (which I only just recently implemented fully). Now we can also support dynamic allocas with higher than the default target stack alignment (16 bytes). In order to round-up the requested size to the maximum requested alignment, we need an additional register to hold the rounded-up size. We're already using one scavenged register to hold the previous stack-pointer value (which needs to be stored with the signal-safe stdux update), and so when we have dynamic allocas and a large alignment, we allocate two emergency spill slots for the scavenger. llvm-svn: 186562
* Remove dead code.Rafael Espindola2013-07-184-117/+1
| | | | llvm-svn: 186561
* Convert two uses if fstat with sys::fs::status.Rafael Espindola2013-07-181-14/+13
| | | | llvm-svn: 186560
* Fix a regression I introduced back in r178147.Rafael Espindola2013-07-182-13/+39
| | | | | | | | | | | We don't want cast and dyn_cast to work on temporaries. They don't extend lifetime like a direct bind to a reference would, so they can introduce hard to find bugs. I added tests to make sure we don't regress this. Thanks to Eli Friedman for noticing this and for his suggestions on how to test it. llvm-svn: 186559
* Give 'hasPath' a longer but clearer name 'isPotentiallyReachable'. Also expandNick Lewycky2013-07-181-5/+7
| | | | | | | the comment. No functionality change. This change broken out of http://llvm-reviews.chandlerc.com/D996 . llvm-svn: 186558
* s/BuiltinLocation/ArtificialLocation/Adrian Prantl2013-07-183-10/+10
| | | | llvm-svn: 186557
* Instead of checking against some version of "isType()" go ahead andEric Christopher2013-07-181-14/+14
| | | | | | | use the conversion to bool to check if we've managed to get a type that isn't default constructed - as we meant to in the first place. llvm-svn: 186556
* Fix a compile error caught by bb-chapuni.Adrian Prantl2013-07-181-2/+3
| | | | llvm-svn: 186555
* Fix a compile error caught by bb-chapuni.Adrian Prantl2013-07-181-1/+1
| | | | llvm-svn: 186554
* Don't generate bogus line table entries for __copy_helper_block_ andAdrian Prantl2013-07-182-3/+21
| | | | | | __destroy_helper_block_, but do generate scope information. llvm-svn: 186553
* Replace llvm::DIBuilder::DisableDebugLocations() with two RAII interfacesAdrian Prantl2013-07-183-3/+75
| | | | | | | | | | | | | inspired by CodegenFunction::LexicalScope. - NoLocation temporarily turns off debug locations altogether. This is useful for emitting instructions that should be counted towards the function prologue. - BuiltinLocation temporarily switches to an artificial debug location that has a valid scope, but no line information. This is useful when emitting compiler-generated helper functions that have no source location associated with them. llvm-svn: 186552
* Clarified documentation.Adrian Prantl2013-07-181-1/+2
| | | | llvm-svn: 186551
* Simplify logic by using the appropriate function.Adrian Prantl2013-07-181-1/+1
| | | | llvm-svn: 186550
* Get rid of the Dis/EnableDebugLocations() API.Adrian Prantl2013-07-181-21/+0
| | | | | | I'm moving this functionality into clang instead. llvm-svn: 186549
* Update comment slightly.Eric Christopher2013-07-181-1/+1
| | | | llvm-svn: 186548
* Add condition expression result to if and elif callbacks.John Thompson2013-07-184-15/+24
| | | | llvm-svn: 186547
* Reinstate r186040, with additional fixes and more test coverage (reverted inRichard Smith2013-07-178-33/+172
| | | | | | | | | | | | | r186331). Original commit log: If we friend a declaration twice, that should not make it visible to name lookup in the surrounding context. Slightly rework how we handle friend declarations to inherit the visibility of the prior declaration, rather than setting a friend declaration to be visible whenever there was a prior declaration. llvm-svn: 186546
* PPC: Add base-pointer support to builtin setjmp/longjmpHal Finkel2013-07-177-52/+130
| | | | | | | | | | | | | | | | | | First, this changes the base-pointer implementation to remove an unnecessary complication (and one that is incompatible with how builtin SjLj is implemented): instead of using r31 as the base pointer when it is not needed as a frame pointer, now the base pointer will always be r30 when needed. Second, we introduce another pseudo register, BP, which is used just like the FP pseudo register to refer to the base register before we know for certain what register it will be. Third, we now save BP into the jmp_buf, and restore r30 from that slot in longjmp. If the function that called setjmp did not use a base pointer, then r30 will be overwritten by the setjmp-calling-function's restore code. FP restoration (which is restored into r31) works the same way. llvm-svn: 186545
* Add comparison operators for DIDescriptors to fix c++98 falloutEric Christopher2013-07-172-1/+8
| | | | | | | | of operator bool change. Also convert a variable in DebugIR. llvm-svn: 186544
* Add an explicit operator bool conversion to DIDescriptor to makeEric Christopher2013-07-171-0/+7
| | | | | | | | | it clear what we want to do. Unfortunately the conversion to pointer operator fires now instead and chasing down all of the conversions and making them explicit and handled is a large task so add a FIXME with it. llvm-svn: 186543
* 80-column fixes.Eric Christopher2013-07-171-1/+2
| | | | llvm-svn: 186542
* Fix a comment.Nadav Rotem2013-07-171-1/+1
| | | | llvm-svn: 186541
* Handle '.' correctly in hex float literal parsing.Eli Friedman2013-07-172-31/+26
| | | | | | | | | | | There were a couple of different loops that were not handling '.' correctly in APFloat::convertFromHexadecimalString; these mistakes could lead to assertion failures and incorrect rounding for overlong hex float literals. Fixes PR16643. llvm-svn: 186539
* Add some uncovered attribute testsTobias Grosser2013-07-171-0/+31
| | | | llvm-svn: 186538
* Even more code conformance.Robert Wilhelm2013-07-171-1/+1
| | | | llvm-svn: 186537
* MS wide bitfield error check in SemaReid Kleckner2013-07-173-7/+18
| | | | | | | | | | | | | cl.exe treats wide bitfields as an error. This patch causes them to be an error if IsMsStruct is true, as it is in straight C. Patch by Warren Hunt! Reviewers: eli.friedman Differential Revision: http://llvm-reviews.chandlerc.com/D1125 llvm-svn: 186536
* clang-format: Add space in corner case.Daniel Jasper2013-07-172-0/+8
| | | | | | | | | Before: SomeType s __attribute__((unused))(InitValue); After: SomeType s __attribute__((unused)) (InitValue); llvm-svn: 186535
* elf-core: Support FreeBSD at compile-timeEd Maste2013-07-173-0/+31
| | | | | | | | Compile-time #ifdef-ery isn't right, but this makes core debugging work on FreeBSD and highlights the parts that will need to be changed for runtime arch support. llvm-svn: 186534
* Restore r181216, which was partially reverted in r182499.Stephen Lin2013-07-173-52/+73
| | | | llvm-svn: 186533
* Fix a funny typo. Thanks to Aaron Ballman for noticing.Rafael Espindola2013-07-171-1/+1
| | | | llvm-svn: 186532
* Add a micro optimization to catch cases where the PtrA equals PtrB.Nadav Rotem2013-07-171-1/+1
| | | | llvm-svn: 186531
* Add FILE_SHARE_WRITE to openFileForRead.Rafael Espindola2013-07-171-1/+1
| | | | | | | | | | | | | | This should fix the windows bots. It looks like the failing tests are of the form prog1 > file prog2 file and prog2 fails trying to read the file. The best fix would probably be to close stdout/stderr in prog1, but it was not the intention of 186511 to change this, so just restore the old behavior for now. llvm-svn: 186530
* Silencing an MSVC warning about signed vs unsigned comparison mismatches.Aaron Ballman2013-07-171-1/+1
| | | | llvm-svn: 186529
* [mips] Use "foreach" loop to make register definitions more concise.Akira Hatanaka2013-07-171-80/+9
| | | | llvm-svn: 186528
* Add -*- C++ -*- to InstrEmitter.h.Michael Gottesman2013-07-171-1/+1
| | | | llvm-svn: 186527
OpenPOWER on IntegriCloud