summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Make use of DiagnosticType to provide better AArch64 diagnostics.Tim Northover2013-02-111-501/+504
| | | | | | | | | This gives a DiagnosticType to all AsmOperands in sight. This replaces all "invalid operand" diagnostics with something more specific. The messages given should still be sufficiently vague that they're not usually actively misleading when LLVM guesses your instruction incorrectly. llvm-svn: 174871
* FileCheck-ize the tests.Bill Wendling2013-02-116-28/+44
| | | | llvm-svn: 174865
* [tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany2013-02-111-0/+10
| | | | llvm-svn: 174864
* LSR IVChain improvement.Andrew Trick2013-02-092-20/+94
| | | | | | | | | Handle chains in which the same offset is used for both loads and stores to the same array. Fixes rdar://11410078. llvm-svn: 174789
* Dwarf: do not use line_table_start in at_stmt_list since we do not always emit Manman Ren2013-02-091-1/+1
| | | | | | line table entries in assembly. llvm-svn: 174785
* Add the 16 bit version of addiu. To the assembler, the 16 and 32 bit are theReed Kotler2013-02-081-0/+30
| | | | | | | | | | same so we put in the comment field an indicator when we think we are emitting the 16 bit version. For the direct object emitter, the difference is important as well as for other passes which need an accurate count of program size. There will be other similar putbacks to this for various instructions. llvm-svn: 174747
* DAGCombiner: Constant folding around pre-increment loads/storesHal Finkel2013-02-081-0/+47
| | | | | | | | | | | Previously, even when a pre-increment load or store was generated, we often needed to keep a copy of the original base register for use with other offsets. If all of these offsets are constants (including the offset which was combined into the addressing mode), then this is clearly unnecessary. This change adjusts these other offsets to use the new incremented address. llvm-svn: 174746
* Revert 172027 and 174336. Remove diagnostics about over-aligned stack objects.Bob Wilson2013-02-082-20/+1
| | | | | | | | | | | | Aside from the question of whether we report a warning or an error when we can't satisfy a requested stack object alignment, the current implementation of this is not good. We're not providing any source location in the diagnostics and the current warning is not connected to any warning group so you can't control it. We could improve the source location somewhat, but we can do a much better job if this check is implemented in the front-end, so let's do that instead. <rdar://problem/13127907> llvm-svn: 174741
* Refine fix to bug 15041.Bill Schmidt2013-02-081-0/+16
| | | | | | | | | Thanks to help from Nadav and Hal, I have a more reasonable (and even correct!) approach. This specifically penalizes the insertelement and extractelement operations for the performance hit that will occur on PowerPC processors. llvm-svn: 174725
* [SimplifyLibCalls] Library call simplification doen't work if the call site Chad Rosier2013-02-081-0/+48
| | | | | | | | isn't using the default calling convention. However, if the transformation is from a call to inline IR, then the calling convention doesn't matter. rdar://13157990 llvm-svn: 174724
* ARM cost model: Address computation in vector mem ops not freeArnold Schwaighofer2013-02-083-3/+86
| | | | | | | | | | | | | | | Adds a function to target transform info to query for the cost of address computation. The cost model analysis pass now also queries this interface. The code in LoopVectorize adds the cost of address computation as part of the memory instruction cost calculation. Only there, we know whether the instruction will be scalarized or not. Increase the penality for inserting in to D registers on swift. This becomes necessary because we now always assume that address computation has a cost and three is a closer value to the architecture. radar://13097204 llvm-svn: 174713
* Update tests for DWARF parser: store sources next to pre-built object files ↵Alexey Samsonov2013-02-0819-39/+132
| | | | | | and provide build instructions llvm-svn: 174711
* When Mips16 frames grow large, the immediate field may exceed the maximumReed Kotler2013-02-081-0/+61
| | | | | | | | allowed size for the instruction. This code uses RegScavenger to fix this. We sometimes need 2 registers for Mips16 so we must handle things differently than how register scavenger is normally used. llvm-svn: 174696
* Revert "Have InstCombine call SipmlifyCall when handling calls. Test case ↵Andrew Trick2013-02-081-14/+2
| | | | | | | | | | included." This reverts commit 3854a5d90fee52af1065edbed34521fff6cdc18d. This causes a clang unit test to hang: vtable-available-externally.cpp. llvm-svn: 174692
* Have InstCombine call SipmlifyCall when handling calls. Test case included.Michael Ilseman2013-02-071-2/+14
| | | | llvm-svn: 174675
* [mips] Add definition of JALR instruction which has two register operands. ↵Akira Hatanaka2013-02-071-0/+8
| | | | | | | | Change the original JALR instruction with one register operand to be a pseudo-instruction. llvm-svn: 174657
* Identify and simplify idempotent intrinsics. Test case included.Michael Ilseman2013-02-071-0/+51
| | | | llvm-svn: 174650
* [Object][ELF] Fix crash on no dynamic section.Michael J. Spencer2013-02-071-0/+2
| | | | llvm-svn: 174639
* ARM cost model: Add costs for vector selectsArnold Schwaighofer2013-02-071-0/+54
| | | | | | | | Vector selects are cheap on NEON. They get lowered to a vbsl instruction. radar://13158753 llvm-svn: 174631
* R600: Add support for SET*_DX10 instructionsTom Stellard2013-02-073-15/+150
| | | | | | | | | | | These instructions compare two floating point values and return an integer true (-1) or false (0) value. When compiling code generated by the Mesa GLSL frontend, the SET*_DX10 instructions save us four instructions for most branch decisions that use floating-point comparisons. llvm-svn: 174609
* R600: Add tests for unsupported condition codes.Tom Stellard2013-02-071-0/+83
| | | | | | All of the le and lt variants are unsupported. llvm-svn: 174608
* R600: Fix assembly name for SETGT_INTTom Stellard2013-02-071-1/+1
| | | | llvm-svn: 174607
* Remove this testcase until I can figure out how to properly conditionalize it.Owen Anderson2013-02-071-43/+0
| | | | llvm-svn: 174591
* Another attempt at getting the XFAIL line right for this test.Owen Anderson2013-02-071-1/+1
| | | | llvm-svn: 174588
* Make sure we call externals from libraries properly when -static.Reed Kotler2013-02-071-0/+13
| | | | | | For example, when we are doing mips16 hard float or soft float. llvm-svn: 174583
* Enable jumps when in -static mode.Reed Kotler2013-02-071-0/+4
| | | | llvm-svn: 174580
* Preserve fast-math flags after reassociation and commutation. Update test casesMichael Ilseman2013-02-071-4/+4
| | | | llvm-svn: 174571
* whitespaceMichael Ilseman2013-02-071-12/+12
| | | | llvm-svn: 174569
* Fix CMake detection of various cmath functions, and XFAIL the test on ↵Owen Anderson2013-02-071-0/+1
| | | | | | platforms that are known to be missing them. llvm-svn: 174564
* Signficantly generalize our ability to constant fold floating point ↵Owen Anderson2013-02-061-0/+42
| | | | | | intrinsics, including ones on half types. llvm-svn: 174555
* Fix typoEli Bendersky2013-02-061-1/+1
| | | | llvm-svn: 174553
* Add a comment to the test that points to the source from which the input objectEli Bendersky2013-02-061-0/+1
| | | | | | file was generated. llvm-svn: 174551
* Add a test for checking the current .debug_frame dumping capability.Eli Bendersky2013-02-063-0/+28
| | | | | | | | The test is a binary placed in test/DebugInfo/Inputs, with a source C file used for reference/reproducing. The source's first line is a clang build command for reproducing the binary. llvm-svn: 174543
* This is a follow-up on r174446, now taking Atom processors intoEli Bendersky2013-02-061-0/+31
| | | | | | | | | | | | account. Atoms use LEA for updating SP in prologs/epilogs, and the exact LEA opcode depends on the data model. Also reapplying the test case which was added and then reverted (because of Atom failures), this time specifying explicitly the CPU in addition to the triple. The test case now checks all variations (data mode, cpu Atom vs. Core). llvm-svn: 174542
* Canonicalize line endings to Linux style also when the --strict-whitespace ↵Guy Benyei2013-02-061-0/+11
| | | | | | flag is in use. This flag is supposed to affect horizontal whitespaces only. llvm-svn: 174541
* Implement external weak (ELF) symbols on AArch64Tim Northover2013-02-061-0/+13
| | | | | | | | | Weakly defined symbols should evaluate to 0 if they're undefined at link-time. This is impossible to do with the usual address generation patterns, so we should use a literal pool entry to materlialise the address. llvm-svn: 174518
* Add AArch64 CRC32 instructionsTim Northover2013-02-062-0/+34
| | | | | | | | These instructions are a late addition to the architecture, and may yet end up behind an optional attribute, but for now they're available at all times. llvm-svn: 174496
* Add icache prefetch operations to AArch64Tim Northover2013-02-062-0/+50
| | | | | | | This adds hints to the various "prfm" instructions so that they can affect the instruction cache as well as the data cache. llvm-svn: 174495
* Remove this test in the meantime, since it won't pass on Atom. Atom uses leaEli Bendersky2013-02-061-22/+0
| | | | | | | to move the stack pointer in prologs/epilogs. I will fix the test and add it back later. llvm-svn: 174484
* Attempt to recover gdb bot after r174445.Manman Ren2013-02-065-6/+6
| | | | | | | | | Failure: undefined symbol 'Lline_table_start0'. Root-cause: we use a symbol subtraction to calculate at_stmt_list, but the line table entries are not dumped in the assembly. Fix: use zero instead of a symbol subtraction for Compile Unit 0. llvm-svn: 174479
* Test for r174446Eli Bendersky2013-02-051-0/+22
| | | | llvm-svn: 174464
* Dwarf: support for LTO where a single object file can have multiple line tablesManman Ren2013-02-058-8/+70
| | | | | | | | | We generate one line table for each compilation unit in the object file. Reviewed by Eric and Kevin. rdar://problem/13067005 llvm-svn: 174445
* [mips] Do not use function CC_MipsN_VarArg unless the function being analyzedAkira Hatanaka2013-02-051-0/+14
| | | | | | | | | | | is a vararg function. The original code was examining flag OutputArg::IsFixed to determine whether CC_MipsN_VarArg or CC_MipsN should be called. This is not correct, since this flag is often set to false when the function being analyzed is a non-variadic function. llvm-svn: 174442
* InstCombine: Fix and simplify the inttoptr side too.Benjamin Kramer2013-02-051-0/+16
| | | | llvm-svn: 174438
* Added missing newline to end of test case.Michael Gottesman2013-02-051-1/+1
| | | | llvm-svn: 174433
* Reapply r174343, with a fix for a scary DAG combine bug where it failed to ↵Owen Anderson2013-02-052-4/+5
| | | | | | | | | | | | | | | | | | differentiate between the alignment of the base point of a load, and the overall alignment of the load. This caused infinite loops in DAG combine with the original application of this patch. ORIGINAL COMMIT LOG: When the target-independent DAGCombiner inferred a higher alignment for a load, it would replace the load with one with the higher alignment. However, it did not place the new load in the worklist, which prevented later DAG combines in the same phase (for example, target-specific combines) from ever seeing it. This patch corrects that oversight, and updates some tests whose output changed due to slightly different DAGCombine outputs. llvm-svn: 174431
* InstCombine: Harden code to work with vectors of pointers and simplify it a bit.Benjamin Kramer2013-02-051-0/+15
| | | | | | Found by running instcombine on a fabricated test case for the constant folder. llvm-svn: 174430
* Hexagon: Use TFR_cond with cmpb.[eq,gt,gtu] to handleJyotsna Verma2013-02-053-0/+322
| | | | | | zext( set[ne,eq,gt,ugt] (...) ) type of dag patterns. llvm-svn: 174429
* ConstantFolding: Fix a crash when encoutering a truncating inttoptr.Benjamin Kramer2013-02-051-0/+19
| | | | | | This was introduced in r173293. llvm-svn: 174424
* Hexagon: Add testcase for post-increment store instructions.Jyotsna Verma2013-02-051-0/+29
| | | | llvm-svn: 174419
OpenPOWER on IntegriCloud