summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/XCore
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of aliases to functions.Richard Osborne2012-11-161-0/+32
| | | | | | An alias to a function should use pc relative addressing. llvm-svn: 168199
* Fix pattern for MKMSK instruction.Richard Osborne2012-06-131-0/+11
| | | | llvm-svn: 158409
* Flip the new block-placement pass to be on by default.Chandler Carruth2012-04-161-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly to test the waters. I'd like to get results from FNT build bots and other bots running on non-x86 platforms. This feature has been pretty heavily tested over the last few months by me, and it fixes several of the execution time regressions caused by the inlining work by preventing inlining decisions from radically impacting block layout. I've seen very large improvements in yacr2 and ackermann benchmarks, along with the expected noise across all of the benchmark suite whenever code layout changes. I've analyzed all of the regressions and fixed them, or found them to be impossible to fix. See my email to llvmdev for more details. I'd like for this to be in 3.1 as it complements the inliner changes, but if any failures are showing up or anyone has concerns, it is just a flag flip and so can be easily turned off. I'm switching it on tonight to try and get at least one run through various folks' performance suites in case SPEC or something else has serious issues with it. I'll watch bots and revert if anything shows up. llvm-svn: 154816
* No need to run llvm-as.Rafael Espindola2012-04-021-1/+1
| | | | llvm-svn: 153890
* Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnuEli Bendersky2012-03-251-8/+1
| | | | | | | | | | | | | | * Removed test/lib/llvm.exp - it is no longer needed * Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files left in the test suite so this code is no longer required. test/lit.cfg is now much shorter and clearer * Removed a lot of duplicate code in lit.local.cfg files that need access to the root configuration, by adding a "root" attribute to the TestingConfig object. This attribute is dynamically computed to provide the same information as was previously provided by the custom getRoot functions. * Documented the config.root attribute in docs/CommandGuide/lit.pod llvm-svn: 153408
* Replace all instances of dg.exp file with lit.local.cfg, since all tests are ↵Eli Bendersky2012-02-162-5/+13
| | | | | | | | run with LIT now and now Dejagnu. dg.exp is no longer needed. Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches. llvm-svn: 150664
* FileCheck hygiene.Benjamin Kramer2012-01-051-2/+2
| | | | llvm-svn: 147580
* Upgrade syntax of tests using volatile instructions to use 'load volatile' ↵Chris Lattner2011-11-272-25/+25
| | | | | | instead of 'volatile load', which is archaic. llvm-svn: 145171
* Don't fold negative offsets into cp / dp accesses to avoid relocation errors.Richard Osborne2011-11-011-0/+25
| | | | | | This can happen if the address + addend is less than the start of the cp / dp. llvm-svn: 143459
* Combine various XCore tests for floating point intrinsic support into a ↵Richard Osborne2011-11-0111-180/+171
| | | | | | single test. llvm-svn: 143458
* Move various XCore tests to FileCheckRichard Osborne2011-11-0117-60/+92
| | | | llvm-svn: 143457
* Associate a MemOperand with LDWCP nodes introduced during ISel.Richard Osborne2011-09-121-0/+18
| | | | | | This information is required if we want LDWCP to be hoisted out of loops. llvm-svn: 139495
* Split the init.trampoline intrinsic, which currently combines GCC'sDuncan Sands2011-09-061-2/+4
| | | | | | | | | | | | | | | | | | | | init.trampoline and adjust.trampoline intrinsics, into two intrinsics like in GCC. While having one combined intrinsic is tempting, it is not natural because typically the trampoline initialization needs to be done in one function, and the result of adjust trampoline is needed in a different (nested) function. To get around this llvm-gcc hacks the nested function lowering code to insert an additional parent variable holding the adjust.trampoline result that can be accessed from the child function. Dragonegg doesn't have the luxury of tweaking GCC code, so it stored the result of adjust.trampoline in the memory GCC set aside for the trampoline itself (this is always available in the child function), and set up some new memory (using an alloca) to hold the trampoline. Unfortunately this breaks Go which allocates trampoline memory on the heap and wants to use it even after the parent has exited (!). Rather than doing even more hacks to get Go working, it seemed best to just use two intrinsics like in GCC. Patch mostly by Sanjoy Das. llvm-svn: 139140
* Add Uses=[SP] to call instructions. This fixes a miscompilation with aRichard Osborne2011-08-241-0/+20
| | | | | | variable sized alloca. llvm-svn: 138433
* Add intrinsics for SETEV, GETED, GETET.Richard Osborne2011-08-182-0/+27
| | | | llvm-svn: 137938
* Fix crash with varargs function with no named parameters.Richard Osborne2011-08-011-0/+17
| | | | llvm-svn: 136623
* Add intrinsics for the zext / sext instructions.Richard Osborne2011-07-191-0/+30
| | | | llvm-svn: 135476
* Add intrinsics for the testct, testwct instructions.Richard Osborne2011-07-191-0/+16
| | | | llvm-svn: 135475
* Add intrinsics for the peek and endin instructions.Richard Osborne2011-07-191-0/+16
| | | | llvm-svn: 135474
* make the asmparser reject function and type redefinitions. 'Merging' hasn't ↵Chris Lattner2011-06-171-2/+0
| | | | | | | | been needed since llvm-gcc 3.4 days. llvm-svn: 133248
* Add XCore intrinsic for crc8.Richard Osborne2011-05-311-0/+10
| | | | llvm-svn: 132340
* Add XCore intrinsic for crc32.Richard Osborne2011-05-312-9/+17
| | | | llvm-svn: 132336
* Convert test to FileCheck.Richard Osborne2011-05-311-3/+4
| | | | llvm-svn: 132335
* Fix register-dependent XCore testsJakob Stoklund Olesen2011-05-041-6/+3
| | | | llvm-svn: 130816
* Fix Mips, Sparc, and XCore tests that were dependent on register allocation.Jakob Stoklund Olesen2011-03-311-16/+17
| | | | | | Add an extra run with -regalloc=basic to keep them honest. llvm-svn: 128654
* Add XCore intrinsics for initializing / starting / synchronizing threads.Richard Osborne2011-03-311-0/+67
| | | | llvm-svn: 128633
* Add XCore intrinsic for setpsc.Richard Osborne2011-03-171-0/+8
| | | | llvm-svn: 127821
* Add XCore intrinsics for setclk, setrdy.Richard Osborne2011-03-161-0/+16
| | | | llvm-svn: 127761
* Add checkevent intrinsic to check if any resources owned by the current threadRichard Osborne2011-03-161-0/+20
| | | | | | can event. llvm-svn: 127741
* On the XCore the scavenging slot should be closest to the SP.Richard Osborne2011-03-151-0/+52
| | | | llvm-svn: 127680
* Add XCore intrinsics for getps, setps, setsr and clrsr.Richard Osborne2011-03-152-0/+36
| | | | llvm-svn: 127678
* Fix mistyped CHECK lines.Benjamin Kramer2011-03-091-2/+2
| | | | llvm-svn: 127366
* Be nice to Xcore and the XMOS assembler and avoid quoting section namesJoerg Sonnenberger2011-03-043-10/+10
| | | | | | that contain only letters, digits and the characters "_" and ".". llvm-svn: 127028
* Bug#9033: For the ELF assembler output, always quote the section name.Joerg Sonnenberger2011-03-033-10/+10
| | | | llvm-svn: 126963
* Add XCore intrinsic for eeu instruction.Richard Osborne2011-02-241-0/+8
| | | | llvm-svn: 126384
* Add XCore intrinsic for clre instruction.Richard Osborne2011-02-231-0/+3
| | | | llvm-svn: 126322
* Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enableRichard Osborne2011-02-231-0/+21
| | | | | | | events on the thread and wait until a resource is ready to event. The vector of the resource that is ready is returned. llvm-svn: 126320
* Add XCore intrinsic for the setv instruction.Richard Osborne2011-02-231-0/+9
| | | | llvm-svn: 126315
* Add XCore intrinsic for settw instruction.Richard Osborne2011-02-231-0/+8
| | | | llvm-svn: 126313
* Add XCore intrinsics for various instructions on ports.Richard Osborne2011-02-211-0/+40
| | | | llvm-svn: 126132
* Add intrinsic for setc instruction on the XCore.Richard Osborne2011-02-091-0/+14
| | | | llvm-svn: 125186
* Add XCore intrinsics for resource instructions.Richard Osborne2011-02-031-0/+97
| | | | llvm-svn: 124794
* Add support for trampolines on the XCore.Richard Osborne2011-02-021-0/+37
| | | | llvm-svn: 124722
* Fix bug where ReduceLoadWidth was creating illegal ZEXTLOAD instructions.Richard Osborne2011-01-311-0/+10
| | | | llvm-svn: 124587
* Update tests.Rafael Espindola2011-01-161-3/+3
| | | | llvm-svn: 123591
* If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG ↵Devang Patel2010-12-061-24/+19
| | | | | | message instead of creating DBG_VALUE for undefined value in reg0. llvm-svn: 121059
* Enable machine sinking critical edge splitting. e.g.Evan Cheng2010-09-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | define double @foo(double %x, double %y, i1 %c) nounwind { %a = fdiv double %x, 3.2 %z = select i1 %c, double %a, double %y ret double %z } Was: _foo: divsd LCPI0_0(%rip), %xmm0 testb $1, %dil jne LBB0_2 movaps %xmm1, %xmm0 LBB0_2: ret Now: _foo: testb $1, %dil je LBB0_2 divsd LCPI0_0(%rip), %xmm0 ret LBB0_2: movaps %xmm1, %xmm0 ret This avoids the divsd when early exit is taken. rdar://8454886 llvm-svn: 114372
* Start function numbering at 0.Dan Gohman2010-04-171-2/+2
| | | | llvm-svn: 101638
* Split big test into multiple directories to cater toDale Johannesen2010-04-071-0/+33
| | | | | | those who don't build all targets. llvm-svn: 100688
* fix AsmPrinter::GetBlockAddressSymbol to always return a uniqueChris Lattner2010-03-141-1/+1
| | | | | | | label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608 llvm-svn: 98495
OpenPOWER on IntegriCloud