summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Debug Info: enable verifying by default and disable testing cases that fail.Manman Ren2013-07-1915-19/+19
| | | | | | | | | | | | | | | | | | | 1> Use DebugInfoFinder to find debug info MDNodes. 2> Add disable-debug-info-verifier to disable verifying debug info. 3> Disable verifying for testing cases that fail (will update the testing cases later on). 4> MDNodes generated by clang can have empty filename for TAG_inheritance and TAG_friend, so DIType::Verify is modified accordingly. Note that DebugInfoFinder does not list all debug info MDNode. For example, clang can generate: metadata !{i32 786468}, which will fail to verify. This MDNode is used by debug info but not included in DebugInfoFinder. This MDNode is generated as a temporary node in DIBuilder::createFunction Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) }; MDNode::getTemporary(VMContext, TElts) llvm-svn: 186634
* Revert "COFFDumper: Dump data directory entries."Rui Ueyama2013-07-182-45/+11
| | | | | | Because it broke s390x and ppc64-linux buildbots. This reverts commit r186623. llvm-svn: 186627
* Update to more CodeGen tests to use CHECK-LABEL for labels corresponding to ↵Stephen Lin2013-07-1841-118/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | function definitions for more informative error messages. No functionality change. All changes were made by the following bash script: find test/CodeGen -name "*.ll" | \ while read NAME; do echo "$NAME" grep -q "^; *RUN: *llc.*debug" $NAME && continue grep -q "^; *RUN:.*llvm-objdump" $NAME && continue grep -q "^; *RUN: *opt.*" $NAME && continue TEMP=`mktemp -t temp` cp $NAME $TEMP sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \ while read FUNC; do sed -i '' "s/;\([A-Za-z0-9_-]*\)\([A-Za-z0-9_-]*\):\( *\)$FUNC[:]* *\$/;\1\2-LABEL:\3$FUNC:/g" $TEMP done sed -i '' "s/;\(.*\)-LABEL-LABEL:/;\1-LABEL:/" $TEMP sed -i '' "s/;\(.*\)-NEXT-LABEL:/;\1-NEXT:/" $TEMP sed -i '' "s/;\(.*\)-NOT-LABEL:/;\1-NOT:/" $TEMP sed -i '' "s/;\(.*\)-DAG-LABEL:/;\1-DAG:/" $TEMP mv $TEMP $NAME done This script catches a superset of the cases caught by the script associated with commit r186280. It initially found some false positives due to unusual constructs in a minority of tests; all such cases were disambiguated first in commit r186621. llvm-svn: 186624
* COFFDumper: Dump data directory entries.Rui Ueyama2013-07-182-11/+45
| | | | | | | | | | | | | | | | | Summary: Dump optional data directory entries in the PE/COFF header, so that we can test the output of LLD linker. This patch updates the test binary file, but the source of the binary is the same. I just re-linked the file. I don't know how the previous file was linked, but the previous file did not have any data directory entries for some reason. Reviewers: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1148 llvm-svn: 186623
* Disambiguate function names in some CodeGen tests. (Some tests were using ↵Stephen Lin2013-07-1814-126/+125
| | | | | | function names that also were names of instructions and/or doing other unusual things that were making the test not amenable to otherwise scriptable pattern matching.) No functionality change. llvm-svn: 186621
* R600/SI: Fix crash with VSELECTTom Stellard2013-07-181-0/+15
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=66175 llvm-svn: 186616
* R600/SI: Add support for v2f32 loadsTom Stellard2013-07-181-0/+14
| | | | llvm-svn: 186615
* R600/SI: Add support for v2f32 storesTom Stellard2013-07-181-0/+18
| | | | llvm-svn: 186614
* R600: Expand VSELECT for all typesTom Stellard2013-07-181-0/+30
| | | | llvm-svn: 186613
* test/MC/AsmParser/secure_log_unique.s requires shellHans Wennborg2013-07-181-0/+1
| | | | | | This should fix the chapuni bots. llvm-svn: 186611
* Add a test for .secure_log_unique.Rafael Espindola2013-07-181-0/+9
| | | | | | It also doubles a test that F_Append works. llvm-svn: 186606
* Update to CodeGen tests to use CHECK-LABEL for labels corresponding to ↵Stephen Lin2013-07-183-35/+35
| | | | | | function definitions for more informative error messages. No functionality change. llvm-svn: 186594
* Windows/Path.inc: Introduce file_type::character_file and ↵NAKAMURA Takumi2013-07-181-3/+0
| | | | | | | | | file_type::fifo_file in sys::fs::getStatus(HANDLE). It fixes llvm/test/Other/close-stderr.ll on msys. FIXME: Provide unittests. llvm-svn: 186588
* [Support] Beef up and expose the response file parsing in llvm::clReid Kleckner2013-07-181-2/+6
| | | | | | | | | | | | | | | | | | | The plan is to use it for clang and lld. Major behavior changes: - We can now parse UTF-16 files that have a byte order mark. - PR16209: Don't drop backslashes on the floor if they don't escape anything. The actual parsing loop was based on code from Clang's driver.cpp, although it's been rewritten to track its state with control flow rather than state variables. Reviewers: hans Differential Revision: http://llvm-reviews.chandlerc.com/D1170 llvm-svn: 186587
* llvm/test/Other/close-stderr.ll: Mark this as XFAIL on msys, since r186560.NAKAMURA Takumi2013-07-181-0/+3
| | | | | | sys::fs::status() doesn't work on pipes. Investigating. llvm-svn: 186586
* Forgot 'svn add' again, sorry!Joey Gouly2013-07-181-0/+145
| | | | | | Tests for r186574. llvm-svn: 186580
* [ARMv8] Add NEON instructions VCVT{A, N, P, M}.Joey Gouly2013-07-184-0/+144
| | | | llvm-svn: 186574
* [SystemZ] Use RNSBGRichard Sandiford2013-07-181-0/+257
| | | | | | 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-182-0/+293
| | | | | | Also, fix the namespace for two instructions that I missed previously. llvm-svn: 186572
* [SystemZ] Generalize RxSBG SRA caseRichard Sandiford2013-07-181-0/+38
| | | | | | | | | 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-181-0/+112
| | | | | | Extend the previous R.SBG patches to handle XORs. llvm-svn: 186570
* This patch extends mips register parsing methods to allow indexed register ↵Vladimir Medic2013-07-181-0/+4
| | | | | | 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-181-0/+16
| | | | | | should. llvm-svn: 186566
* Reapply r186316 with a fix for one bug where the code could walk off theChandler Carruth2013-07-181-1/+1
| | | | | | | | | | | | 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
* PPC: Support dynamic allocas with large alignmentHal Finkel2013-07-181-0/+39
| | | | | | | | | | | | | | | 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
* PPC: Add base-pointer support to builtin setjmp/longjmpHal Finkel2013-07-172-11/+58
| | | | | | | | | | | | | | | | | | 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 some uncovered attribute testsTobias Grosser2013-07-171-0/+31
| | | | llvm-svn: 186538
* Restore r181216, which was partially reverted in r182499.Stephen Lin2013-07-171-9/+44
| | | | llvm-svn: 186533
* Split openFileForRead into Windows and Unix versions.Rafael Espindola2013-07-171-2/+1
| | | | | | | | | | | This has some advantages: * Lets us use native, utf16 windows functions. * Easy to produce good errors on windows about trying to use a directory when we want a file. * Simplifies the unix version a bit. llvm-svn: 186511
* Fix comparisons of alloca alignment in inliner mergingHal Finkel2013-07-171-0/+33
| | | | | | | | Duncan pointed out a mistake in my fix in r186425 when only one of the allocas being compared had the target-default alignment. This is essentially his suggested solution. Thanks! llvm-svn: 186510
* Implement eret and deret(return from exception) instructions for Mips. Test ↵Vladimir Medic2013-07-172-10/+28
| | | | | | examples are given. llvm-svn: 186507
* Add the tests that I forgot to 'svn add' with my previous commit (r186504).Joey Gouly2013-07-175-0/+82
| | | | llvm-svn: 186506
* [XCore] Ensure implicit operands aren't lost on the return instruction.Richard Osborne2013-07-171-1/+16
| | | | | | Patch by Robert Lytton. llvm-svn: 186500
* Make x86 fast-isel correctly choose between aligned and unaligned operations ↵Craig Topper2013-07-173-19/+49
| | | | | | for vector stores. Fixes PR16640. llvm-svn: 186491
* PPC: Add CTR-register clobber to builtin setjmpHal Finkel2013-07-171-0/+50
| | | | | | | | | | | | | Because the builtin longjmp implementation uses a CTR-based indirect jump, when the control flow arrives at the builtin setjmp call, the CTR register has necessarily been clobbered. Correspondingly, this adds CTR to the list of implicit definitions of the builtin setjmp pseudo instruction. We don't need to add CTR to the implicit definitions of builtin longjmp because, even though it does clobber the CTR register, the control flow cannot return to inside the loop unless there is also a builtin setjmp call. llvm-svn: 186488
* raw_ostream.cpp: Introduce <fcntl.h> to let O_BINARY provided. Or, ↵NAKAMURA Takumi2013-07-171-3/+0
| | | | | | | | llvm::outs() would be set to O_TEXT by default. llvm/test/Object/check_binary_output.ll is expected to pass on win32. llvm-svn: 186480
* PPC: Implement base pointer and stack realignmentHal Finkel2013-07-171-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This builds on some frame-lowering code that has existed since 2005 (r24224) but was disabled in 2008 (r48188) because it needed base pointer support to function correctly. This implementation follows the strategy suggested by Dale Johannesen in r48188 where the following comment was added: This does not currently work, because the delta between old and new stack pointers is added to offsets that reference incoming parameters after the prolog is generated, and the code that does that doesn't handle a variable delta. You don't want to do that anyway; a better approach is to reserve another register that retains to the incoming stack pointer, and reference parameters relative to that. And now we do exactly that. If we don't need a frame pointer, then we use r31 as a base pointer. If we do need a frame pointer, then we use r30 as a base pointer. The base pointer retains the value of the stack pointer before it was decremented in the prologue. We then use the base pointer to resolve all negative frame indicies. The basic scheme follows that for base pointers in the X86 backend. We use a base pointer when we need to dynamically realign the incoming stack pointer. This currently applies only to static objects (dynamic allocas with large alignments, and base-pointer support in SjLj lowering will come in future commits). llvm-svn: 186478
* llvm/test/CodeGen/X86/vec_setcc.ll: Add explicit ↵NAKAMURA Takumi2013-07-171-3/+3
| | | | | | -mtriple=x86_64-unknown-unknown to satisfy win32-targeted configuration. llvm-svn: 186477
* llvm/test/Object/ar-create.test: Relax a CHECK line to satisfy localized ↵NAKAMURA Takumi2013-07-161-1/+1
| | | | | | | | message catalogue. For example, 'No such file or directory' cannot be seen on Japanese version of msvcrt. llvm-svn: 186469
* llvm/test/Object/check_binary_output.ll: Mark it as XFAIL on Windows. ↵NAKAMURA Takumi2013-07-161-0/+3
| | | | | | Investigating. llvm-svn: 186468
* ARM: Add support for the Thumb2 PLI alternate literal form.Tilmann Scheller2013-07-161-0/+4
| | | | | | | | | | This adds an instruction alias to make the assembler recognize the alternate literal form: pli [PC, #+/-<imm>] See A8.8.129 in the ARM ARM (DDI 0406C.b). Fixes <rdar://problem/14403733>. llvm-svn: 186459
* Finally, force the target for this test. Should unbreak non-x86 buildbots.Benjamin Kramer2013-07-161-3/+3
| | | | llvm-svn: 186445
* XFAIL this test on mingw.Rafael Espindola2013-07-161-0/+1
| | | | llvm-svn: 186444
* Label names also differ between platforms. Use a relaxed regex.Benjamin Kramer2013-07-161-4/+4
| | | | llvm-svn: 186442
* Fix test not to fail when the target doesn't use leading underscores on symbols.Benjamin Kramer2013-07-161-18/+18
| | | | llvm-svn: 186439
* Cleanup testing case by using a shorter name for types.Manman Ren2013-07-161-39/+39
| | | | llvm-svn: 186436
* [X86] Use min/max to optimze unsigend vector comparison on X86Juergen Ributzka2013-07-161-0/+126
| | | | | | | | | | | | | Use PMIN/PMAX for UGE/ULE vector comparions to reduce the number of required instructions. This trick also works for UGT/ULT, but there is no advantage in doing so. It wouldn't reduce the number of instructions and it would actually reduce performance. Reviewer: Ben radar:5972691 llvm-svn: 186432
* When the inliner merges allocas, it must keep the larger alignmentHal Finkel2013-07-162-0/+187
| | | | | | | | | | | | For safety, the inliner cannot decrease the allignment on an alloca when merging it with another. I've included two variants of the test case for this: one with DataLayout available, and one without. When DataLayout is not available, if only one of the allocas uses the default alignment (getAlignment() == 0), then they cannot be safely merged. llvm-svn: 186425
* On error, close the temporary file descriptor.Rafael Espindola2013-07-161-0/+9
| | | | | | With this change llvm-ar can remove the temporary file on windows too. llvm-svn: 186423
* Create files with mode 666. This matches the behavior of other unix tools.Rafael Espindola2013-07-161-0/+13
| | | | llvm-svn: 186414
OpenPOWER on IntegriCloud