summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* When expanding expressions which are using post-inc mode for multiple loops,Dan Gohman2010-04-082-0/+43
| | | | | | ensure that the expansion is dominated by the increments of those loops. llvm-svn: 100748
* Make post regalloc machine licm functional. It now passes all of MultiSource.Evan Cheng2010-04-081-79/+169
| | | | llvm-svn: 100742
* typoChris Lattner2010-04-081-2/+2
| | | | llvm-svn: 100738
* document isvolatile etc.Chris Lattner2010-04-081-31/+37
| | | | llvm-svn: 100737
* mpsadbw is not commutative.Eric Christopher2010-04-081-1/+1
| | | | | | Fixes PR3440. llvm-svn: 100736
* Added support for ARM disassembly to edis.Sean Callanan2010-04-089-284/+677
| | | | | | | | | | | I also added a rule to the ARM target's Makefile to build the ARM-specific instruction information table for the enhanced disassembler. I will add the test harness for all this stuff in a separate commit. llvm-svn: 100735
* convert a report_fatal_error that I was able to trigger into a nice errorChris Lattner2010-04-081-3/+9
| | | | | | | | | | | | | | so the user at least knows what inline asm is a problem. For example: error: inline asm not supported yet: don't know how to handle tied indirect register inputs pr8788-1.c:14:10: note: generated from here asm ("\n" : "+r" (stack->regs) ^ Instead of: fatal error: error in backend: Don't know how to handle tied indirect register inputs yet! llvm-svn: 100731
* Fix typo.Evan Cheng2010-04-071-1/+1
| | | | llvm-svn: 100726
* minor tidying.Chris Lattner2010-04-072-5/+4
| | | | llvm-svn: 100725
* use assertions instead of unreachable for logic errors.Chris Lattner2010-04-071-28/+26
| | | | llvm-svn: 100724
* introduce a new recoverable error handling API to LLVMContextChris Lattner2010-04-073-3/+50
| | | | | | | | | | | | | | | | | | | | | | | | and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) llvm-svn: 100723
* Say bitcast instead of bitconvert.Dan Gohman2010-04-072-2/+2
| | | | llvm-svn: 100720
* rename llvm_install_error_handler -> install_fatal_error_handlerChris Lattner2010-04-072-25/+22
| | | | | | and friends. llvm-svn: 100717
* Update CMake build.Ted Kremenek2010-04-071-0/+1
| | | | llvm-svn: 100714
* Update cmake build.Benjamin Kramer2010-04-071-0/+1
| | | | llvm-svn: 100713
* Add support for stpncpy_chk.Eric Christopher2010-04-072-7/+7
| | | | llvm-svn: 100710
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-0752-143/+143
| | | | llvm-svn: 100709
* add newlines at end of files.Chris Lattner2010-04-077-7/+7
| | | | llvm-svn: 100706
* add newlines at the end of files.Chris Lattner2010-04-0733-33/+33
| | | | llvm-svn: 100705
* remove some unneeded errorhandling stuff.Chris Lattner2010-04-072-16/+20
| | | | llvm-svn: 100703
* minor tidying upChris Lattner2010-04-072-3/+2
| | | | llvm-svn: 100702
* tidy upChris Lattner2010-04-071-5/+5
| | | | llvm-svn: 100700
* Generalize IVUsers to track arbitrary expressions rather than expressionsDan Gohman2010-04-0710-279/+743
| | | | | | | | | | | | | | | explicitly split into stride-and-offset pairs. Also, add the ability to track multiple post-increment loops on the same expression. This refines the concept of "normalizing" SCEV expressions used for to post-increment uses, and introduces a dedicated utility routine for normalizing and denormalizing expressions. This fixes the expansion of expressions which are post-increment users of more than one loop at a time. More broadly, this takes LSR another step closer to being able to reason about more than one loop at a time. llvm-svn: 100699
* Missed this one line for the previous checkin to fix build warnings.Johnny Chen2010-04-071-1/+0
| | | | llvm-svn: 100697
* Fixed warnings pointed out by clang.Johnny Chen2010-04-071-7/+19
| | | | llvm-svn: 100696
* Fixed warnings pointed out by clang.Johnny Chen2010-04-071-2/+16
| | | | | | Next to work on is ARMDisassemblerCore.cpp. llvm-svn: 100695
* Fixed a bug where the disassembler would allow an immediateSean Callanan2010-04-073-1/+5
| | | | | | | | | argument that had to be between 0 and 7 to have any value, firing an assert later in the AsmPrinter. Now, the disassembler rejects instructions with out-of-range values for that immediate. llvm-svn: 100694
* Fixed 3 warnings pointed out by clang.Johnny Chen2010-04-071-3/+3
| | | | llvm-svn: 100693
* unXFAIL, arm disassembler was reenabled.Benjamin Kramer2010-04-073-3/+0
| | | | llvm-svn: 100692
* Fix typo and correct comment somewhat.Eric Christopher2010-04-071-1/+1
| | | | llvm-svn: 100691
* Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call inJohnny Chen2010-04-073-4/+25
| | | | | | ARMDecoderEmitter.cpp, with FIXME comment. llvm-svn: 100690
* Split big test into multiple directories to cater toDale Johannesen2010-04-0712-11/+363
| | | | | | those who don't build all targets. llvm-svn: 100688
* Added an AsmLexer for the ARM target, which usesSean Callanan2010-04-072-0/+143
| | | | | | | a simple mapping of register names to IDs to identify register tokens. llvm-svn: 100685
* Test that DEBUG_VALUE comments come out on a variety of targets.Dale Johannesen2010-04-071-0/+45
| | | | llvm-svn: 100682
* Educate GetInstrSizeInBytes implementations thatDale Johannesen2010-04-074-0/+4
| | | | | | DBG_VALUE does not generate code. llvm-svn: 100681
* fix 80-col violationsGabor Greif2010-04-071-13/+17
| | | | llvm-svn: 100677
* Remove late ARM codegen optimization pass committed by accident.Anton Korobeynikov2010-04-076-169/+5
| | | | | | It is not ready for public yet. llvm-svn: 100673
* Split A8/A9 itins - they already were too big.Anton Korobeynikov2010-04-073-603/+614
| | | | llvm-svn: 100672
* Add some crude itin approximation for VFP load / stores on A9Anton Korobeynikov2010-04-071-0/+54
| | | | llvm-svn: 100671
* Add some crude approximation for neon load/store instructionsAnton Korobeynikov2010-04-071-1/+55
| | | | llvm-svn: 100670
* Add some A8-based approximation for instructions with unknown cycle timesAnton Korobeynikov2010-04-071-0/+52
| | | | llvm-svn: 100669
* Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.Anton Korobeynikov2010-04-071-4/+6
| | | | llvm-svn: 100668
* Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack ↵Anton Korobeynikov2010-04-072-267/+271
| | | | | | anymore. llvm-svn: 100667
* Fix A8 FP NEON MAC itinsAnton Korobeynikov2010-04-071-2/+2
| | | | llvm-svn: 100666
* A9 NEON FP itinsAnton Korobeynikov2010-04-071-0/+66
| | | | llvm-svn: 100665
* Some permute goodness for A9Anton Korobeynikov2010-04-071-1/+85
| | | | llvm-svn: 100664
* More shift itins for A9Anton Korobeynikov2010-04-071-0/+21
| | | | llvm-svn: 100663
* More fixes for itinsAnton Korobeynikov2010-04-071-24/+26
| | | | llvm-svn: 100662
* Fix invalid itins for 32-bit varians of VMLAL and friendsAnton Korobeynikov2010-04-071-14/+14
| | | | llvm-svn: 100661
* Add MAC stuff for A9Anton Korobeynikov2010-04-071-1/+59
| | | | llvm-svn: 100660
OpenPOWER on IntegriCloud