summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Put VMOVPQIto64rr in the VRPDI class.Rafael Espindola2013-05-011-0/+10
| | | | | | Patch by Joshua Magee. llvm-svn: 180842
* Forget remove the tempfile argumentMichael Liao2013-05-011-1/+1
| | | | llvm-svn: 180838
* More rewrites of x86 codegen regression tests with FileCheckMichael Liao2013-05-0119-28/+78
| | | | llvm-svn: 180837
* Revert "InstCombine: Fold more shuffles of shuffles."Jim Grosbach2013-05-012-10/+11
| | | | | | | | | This reverts commit r180802 There's ongoing discussion about whether this is the right place to make this transformation. Reverting for now while we figure it out. llvm-svn: 180834
* [mips] Fix handling of instructions which copy to/from accumulator registers.Akira Hatanaka2013-04-301-0/+21
| | | | | | | | | Expand copy instructions between two accumulator registers before callee-saved scan is done. Handle copies between integer GPR and hi/lo registers in MipsSEInstrInfo::copyPhysReg. Delete pseudo-copy instructions that are not needed. llvm-svn: 180827
* Only pass 'returned' to target-specific lowering code when the value of ↵Stephen Lin2013-04-302-64/+178
| | | | | | entire register is guaranteed to be preserved. llvm-svn: 180825
* [mips] Instruction selection patterns for DSP-ASE vector select and compareAkira Hatanaka2013-04-301-0/+641
| | | | | | instructions. llvm-svn: 180820
* Temporarily revert "Change the informal convention of DBG_VALUE so that we ↵Adrian Prantl2013-04-306-119/+9
| | | | | | | | | | can express a" because it breaks some buildbots. This reverts commit 180816. llvm-svn: 180819
* Change the informal convention of DBG_VALUE so that we can express aAdrian Prantl2013-04-306-9/+119
| | | | | | | | | | | | register-indirect address with an offset of 0. It used to be that a DBG_VALUE is a register-indirect value if the offset (operand 1) is nonzero. The new convention is that a DBG_VALUE is register-indirect if the first operand is a register and the second operand is an immediate. For plain registers use the combination reg, reg. rdar://problem/13658587 llvm-svn: 180816
* [mips] Test for r179873.Akira Hatanaka2013-04-301-0/+64
| | | | | | Patch by Zoran Jovanovic. llvm-svn: 180804
* InstCombine: Fold more shuffles of shuffles.Jim Grosbach2013-04-302-11/+10
| | | | | | | | | | | Always fold a shuffle-of-shuffle into a single shuffle when there's only one input vector in the first place. Continue to be more conservative when there's multiple inputs. rdar://13402653 PR15866 llvm-svn: 180802
* LocalStackSlotAllocation improvementsHal Finkel2013-04-302-6/+2
| | | | | | | | | | | | First, taking advantage of the fact that the virtual base registers are allocated in order of the local frame offsets, remove the quadratic register-searching behavior. Because of the ordering, we only need to check the last virtual base register created. Second, store the frame index in the FrameRef structure, and get the frame index and the local offset from this structure at the top of the loop iteration. This allows us to de-nest the loops in insertFrameReferenceRegisters (and I think makes the code cleaner). I also moved the needsFrameBaseReg check into the first loop over instructions so that we don't bother pushing FrameRefs for instructions that don't want a virtual base register anyway. Lastly, and this is the only functionality change, avoid the creation of single-use virtual base registers. These are currently not useful because, in general, they end up replacing what would be one r+r instruction with an add and a r+i instruction. Committing this removes the XFAIL in CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll Jim has okayed this off-list. llvm-svn: 180799
* TBAA: remove !tbaa from testing cases if not used.Manman Ren2013-04-3069-639/+385
| | | | | | | This will make it easier to turn on struct-path aware TBAA since the metadata format will change. llvm-svn: 180796
* Set debug locations for branch instructions created during inlining, evenAdrian Prantl2013-04-301-0/+154
| | | | | | | | the inlined function has multiple returns. rdar://problem/12415623 llvm-svn: 180793
* Fix Addend computation for non external relocations on Macho.Rafael Espindola2013-04-301-0/+12
| | | | llvm-svn: 180790
* R600: fix loop-address.ll testVincent Lejeune2013-04-301-2/+2
| | | | | | Texture cache is now used when shader type is not specified llvm-svn: 180785
* s tightens up the encoding description for ARM post-indexed ldr ↵Mihai Popa2013-04-301-1/+0
| | | | | | instructions. All instructions in this class have bit 4 cleared. It turns out that there is a test case for this, but it was marked XFAIL. llvm-svn: 180778
* Fix "Combine bit test + conditional or into simple math"David Majnemer2013-04-301-0/+109
| | | | | | | | | This fixes the optimization introduced in r179748 and reverted in r179750. While the optimization was sound, it did not properly respect differences in bit-width. llvm-svn: 180777
* Rewrite X86 codegen regression test with FileCheckMichael Liao2013-04-3016-34/+75
| | | | llvm-svn: 180776
* Collect the Addend for external relocs.Rafael Espindola2013-04-301-1/+0
| | | | | | | This fixes 2013-04-04-RelocAddend.ll. We don't have a testcase for non external relocs with an Addend. I will try to write one. llvm-svn: 180767
* R600: use native for aluVincent Lejeune2013-04-303-5/+6
| | | | llvm-svn: 180761
* R600: Add FetchInst bit to instruction defs to denote vertex/tex instructionsVincent Lejeune2013-04-301-2/+2
| | | | | | v2[Vincent Lejeune]: Split FetchInst into usesTextureCache/usesVertexCache llvm-svn: 180755
* Rewrite test in FileCheck instead of grep in X86 codegenMichael Liao2013-04-301-4/+7
| | | | llvm-svn: 180754
* TBAA: remove !tbaa from testing cases if not used.Manman Ren2013-04-2911-69/+32
| | | | | | | This will make it easier to turn on struct-path aware TBAA since the metadata format will change. llvm-svn: 180745
* Duplicate a testcase.Bill Wendling2013-04-291-0/+89
| | | | llvm-svn: 180744
* TBAA: remove !tbaa from testing cases if not used.Manman Ren2013-04-296-47/+24
| | | | | | | This will make it easier to turn on struct-path aware TBAA since the metadata format will change. llvm-svn: 180743
* Rewrite some tests with FileCHeck in X86 codegenMichael Liao2013-04-2920-28/+85
| | | | | | | | | | | | | - Revise previous patches of the same purpose by fixing *) grep <PA> | not grep <PB> semantically is not the same as CHECK: <PA>{{^<PB>.*$}} as the former will check all occurrences of <PA> while the later only check the first match. As the result, CHECK needs putting in all place where <PA> occurs. *) grep <PA> | count <N> needs a final CHECK-NOT of the same pattern. (As 'CHECK-<N>' is proposed for discussion, converting 'grep | count <N>' where N > 1 is postponed.) llvm-svn: 180742
* Improve documentation.Adrian Prantl2013-04-291-1/+2
| | | | llvm-svn: 180738
* Add getSymbolAlignment to the ObjectFile interface.Rafael Espindola2013-04-291-1/+0
| | | | | | | | | | | | | For regular object files this is only meaningful for common symbols. An object file format with direct support for atoms should be able to provide alignment information for all symbols. This replaces getCommonSymbolAlignment and fixes test-common-symbols-alignment.ll on darwin. This also includes a fix to MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common (already tested by existing mcjit tests now that it is used). llvm-svn: 180736
* R600: Use correct CF_END instruction on Northern Island GPUsTom Stellard2013-04-291-2/+5
| | | | llvm-svn: 180735
* R600: Fix encoding of CF_END_{EG, R600} instructionsTom Stellard2013-04-291-0/+6
| | | | | | The EOP bit was not being encoded. llvm-svn: 180734
* SimplifyCFG: If convert single conditional storesArnold Schwaighofer2013-04-291-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This resurrects r179957, but adds code that makes sure we don't touch atomic/volatile stores: This transformation will transform a conditional store with a preceeding uncondtional store to the same location: a[i] = may-alias with a[i] load if (cond) a[i] = Y into an unconditional store. a[i] = X may-alias with a[i] load tmp = cond ? Y : X; a[i] = tmp We assume that on average the cost of a mispredicted branch is going to be higher than the cost of a second store to the same location, and that the secondary benefits of creating a bigger basic block for other optimizations to work on outway the potential case where the branch would be correctly predicted and the cost of the executing the second store would be noticably reflected in performance. hmmer's execution time improves by 30% on an imac12,2 on ref data sets. With this change we are on par with gcc's performance (gcc also performs this transformation). There was a 1.2 % performance improvement on a ARM swift chip. Other tests in the test-suite+external seem to be mostly uninfluenced in my experiments: This optimization was triggered on 41 tests such that the executable was different before/after the patch. Only 1 out of the 40 tests (dealII) was reproducable below 100% (by about .4%). Given that hmmer benefits so much I believe this to be a fair trade off. llvm-svn: 180731
* Disable the MCJIT tests on 32 bit darwin.Rafael Espindola2013-04-291-0/+3
| | | | | | | I recently enabled them on 32 and 64 bit darwin, but it looks like 32 bit is still fairly broken. llvm-svn: 180730
* Propagate relocation info to resolveRelocation.Rafael Espindola2013-04-294-4/+4
| | | | | | This gets most of the MCJITs tests passing with MachO. llvm-svn: 180716
* [objc-arc] Apply the RV optimization to retains next to calls in ↵Michael Gottesman2013-04-293-51/+56
| | | | | | | | | | | | | | | ObjCARCContract instead of ObjCARCOpts. Turning retains into retainRV calls disrupts the data flow analysis in ObjCARCOpts. Thus we move it as late as we can by moving it into ObjCARCContract. We leave in the conversion from retainRV -> retain in ObjCARCOpt since it enables the dataflow analysis. rdar://10813093 llvm-svn: 180698
* Fix a XOR reassociation bug. Shuxin Yang2013-04-271-0/+27
| | | | | | | | | | When Reassociator optimize "(x | C1)" ^ "(X & C2)", it may swap the two subexpressions, however, it forgot to swap cached constants (of C1 and C2) accordingly. rdar://13739160 llvm-svn: 180676
* AArch64: convert MC-layer test to .s fileTim Northover2013-04-272-51/+48
| | | | | | | | The CodeGen aspects of this test are already covered by cfi-frame.ll; making it an assembly file reduces the risk of incidental changes affecting the test. llvm-svn: 180671
* [objc-arc] Test cleanups.Michael Gottesman2013-04-279-14/+40
| | | | | | | | | Mainly adding paranoid checks for the closing brace of a function to help with FileCheck error readability. Also some other minor changes. No actual CHECK changes. llvm-svn: 180668
* Use the target triple from the target machine rather than the moduleEric Christopher2013-04-271-1/+1
| | | | | | | | | | | | | | | | to determine whether or not we're on a darwin platform for debug code emitting. Solves the problem of a module with no triple on the command line and no triple in the module using non-gdb ok features on darwin. Fix up the member-pointers test to check the correct things for cross platform (DW_FORM_flag is a good prefix). Unfortunately no testcase because I have no ideas how to test something without a triple and without a triple in the module yet check precisely on two platforms. Ideas welcome. llvm-svn: 180660
* Move the XFAIL out of the middle of a comment.Eric Christopher2013-04-271-1/+1
| | | | llvm-svn: 180659
* Make all darwin ppc stubs local.Rafael Espindola2013-04-271-5/+5
| | | | | | | This fixes pr15763. Patch by David Fang. llvm-svn: 180657
* Struct-path aware TBAA: change the format of TBAAStructType node.Manman Ren2013-04-271-11/+11
| | | | | | | | We switch the order of offset and field type to make TBAAStructType node (name, parent node, offset) similar to scalar TBAA node (name, parent node). TypeIsImmutable is added to TBAAStructTag node. llvm-svn: 180654
* Make CHECK lines a bit less strict so they also match code generated for win64.Benjamin Kramer2013-04-261-10/+10
| | | | | | Hopefully brings the windows buildbots back to life. llvm-svn: 180630
* Teach the interpreter to handle vector compares and additional vector ↵Nadav Rotem2013-04-265-0/+173
| | | | | | | | arithmetic operations. Patch by Yuri Veselov. llvm-svn: 180626
* R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTETom Stellard2013-04-261-1/+3
| | | | | | | | | We need to intialize this to something and since clang does not set the shader type attribute and clang is used only for compute shaders, initializing it to COMPUTE seems like the best choice. Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 180620
* cleanup testcase some moreAdrian Prantl2013-04-261-11/+11
| | | | | | rdar://problem/13056109 llvm-svn: 180619
* ARM: Fix encoding of hint instruction for Thumb.Quentin Colombet2013-04-266-6/+37
| | | | | | | | | | | | | | | "hint" space for Thumb actually overlaps the encoding space of the CPS instruction. In actuality, hints can be defined as CPS instructions where imod and M bits are all nil. Handle decoding of permitted nop-compatible hints (i.e. nop, yield, wfi, wfe, sev) in DecodeT2CPSInstruction. This commit adds a proper diagnostic message for Imm0_4 and updates all tests. Patch by Mihail Popa <Mihail.Popa@arm.com>. llvm-svn: 180617
* Add missing ':'.Rafael Espindola2013-04-261-1/+1
| | | | llvm-svn: 180616
* Bugfix for the debug intrinsic handling in InstCombiner:Adrian Prantl2013-04-261-0/+100
| | | | | | | | | | | Since we can't guarantee that the original dbg.declare instrinsic is removed by LowerDbgDeclare(), we need to make sure that we are not inserting the same dbg.value intrinsic over and over. This removes tons of redundant DIEs when compiling optimized code. rdar://problem/13056109 llvm-svn: 180615
* ARM/NEON: Pattern match vector integer abs to vabs.Benjamin Kramer2013-04-261-0/+91
| | | | llvm-svn: 180604
OpenPOWER on IntegriCloud