summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix for PR 2323, infinite loop in tail dup.Dale Johannesen2008-05-131-4/+15
| | | | llvm-svn: 51063
* add a noteChris Lattner2008-05-131-0/+18
| | | | llvm-svn: 51062
* - Fix the pasto in the fix for a previous pasto.Evan Cheng2008-05-131-4/+4
| | | | | | - Incorporate Chris' comment suggestion. llvm-svn: 51061
* add a noteChris Lattner2008-05-131-0/+24
| | | | llvm-svn: 51060
* Fix one more encoding bug.Nate Begeman2008-05-131-1/+1
| | | | llvm-svn: 51057
* - Don't treat anyext 16-bit load as a 32-bit load if it's volatile.Evan Cheng2008-05-131-2/+2
| | | | | | - Correct a pasto. llvm-svn: 51054
* Make the non-local CSE safety checks slightly more thorough.Owen Anderson2008-05-131-6/+8
| | | | llvm-svn: 51035
* Adding files for Microchip's PIC16 target.Sanjiv Gupta2008-05-1323-0/+3323
| | | | | | | | | | | | | | | | | A brief description about PIC16: =============================== PIC16 is an 8-bit microcontroller with only one 8-bit register which is the accumulator. All arithmetic/load/store operations are 8-bit only. The architecture has two address spaces: program and data. The program memory is divided into 2K pages and the data memory is divided into banks of 128 byte, with only 80 usable bytes, resulting in an non-contiguous data memory. It supports direct data memory access (by specifying the address as part of the instruction) and indirect data and program memory access (in an unorthodox fashion which utilize a 16 bit pointer register). Two classes of registers exist: (8-bit class which is only one accumulator) (16-bit class, which contains one or more 16 bit pointer(s)) llvm-svn: 51027
* Instead of a vector load, shuffle and then extract an element. Load the ↵Evan Cheng2008-05-134-83/+89
| | | | | | | | | | | element from address with an offset. pshufd $1, (%rdi), %xmm0 movd %xmm0, %eax => movl 4(%rdi), %eax llvm-svn: 51026
* Add support for non-local CSE of read-only calls.Owen Anderson2008-05-131-12/+45
| | | | llvm-svn: 51024
* Derive GetResultInst from UnaryInstruction, this simplifies code and removes ↵Gabor Greif2008-05-131-8/+6
| | | | | | a FIXME. llvm-svn: 51023
* Change class' public PassInfo variables to by initialized with theDan Gohman2008-05-1316-36/+31
| | | | | | | | | | | address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data. Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions. llvm-svn: 51022
* 80 col / tabs fixesNate Begeman2008-05-132-6/+7
| | | | llvm-svn: 51021
* Fix and encoding error in the psrad xmm, imm8 instruction.Nate Begeman2008-05-131-1/+1
| | | | llvm-svn: 51020
* On x86, it's safe to treat i32 load anyext as a normal i32 load. Ditto for ↵Evan Cheng2008-05-132-27/+28
| | | | | | i8 anyext load to i16. llvm-svn: 51019
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-13124-705/+783
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Teach Legalize how to scalarize VSETCCNate Begeman2008-05-122-0/+37
| | | | | | Teach X86 a few more vsetcc patterns. Custom lowering for unsupported ones is next. llvm-svn: 51009
* Xform bitconvert(build_pair(load a, load b)) to a single load if the load ↵Evan Cheng2008-05-124-74/+55
| | | | | | locations are at the right offset from each other. llvm-svn: 51008
* Be more aggressive about tail-merging small blocksDale Johannesen2008-05-121-1/+12
| | | | | | | if those blocks consist entirely of common instructions; merging will not add an extra branch in this case. llvm-svn: 51006
* Constify isSourceDefinedByImplicitDef function. Otherwise, just formattingBill Wendling2008-05-121-45/+38
| | | | | | changes that don't change functionality. llvm-svn: 51004
* Constify the machine instruction passed into theBill Wendling2008-05-122-2/+3
| | | | | | "is{Trivially,Really}ReMaterializable" methods. llvm-svn: 51001
* Initial X86 codegen support for VSETCC.Nate Begeman2008-05-123-11/+44
| | | | llvm-svn: 51000
* Further rework of tail merge algorithm. Not quiteDale Johannesen2008-05-121-111/+77
| | | | | | | | semantically identical, but little difference in either results or execution speed; but it's much easier to read, at least IMO. llvm-svn: 50999
* Simplify some checksNate Begeman2008-05-121-4/+4
| | | | llvm-svn: 50998
* Fix a copy+paste bug; pseudo-instructions shouldn't haveDan Gohman2008-05-121-21/+14
| | | | | | encoding information. llvm-svn: 50997
* Pointer comparisons should use icmp, not vicmpNate Begeman2008-05-121-1/+1
| | | | llvm-svn: 50996
* Go back to passing the analyses around as parameters.Owen Anderson2008-05-121-21/+33
| | | | llvm-svn: 50995
* Pointer comparisons should be handled by icmp, not vicmp :)Nate Begeman2008-05-122-3/+3
| | | | llvm-svn: 50994
* Hard code CmpInst back to i1 for now while I go track down what in the ↵Nate Begeman2008-05-121-2/+2
| | | | | | | | bitcode reader/writer is assuming i1 This was breaking a bunch of tests llvm-svn: 50992
* Refactor isConsecutiveLoad from X86 to TargetLowering so DAG combiner can ↵Evan Cheng2008-05-123-67/+95
| | | | | | make use of it. llvm-svn: 50991
* Revert the previous commit. Go ahead and hoist rematerializable instructions.Bill Wendling2008-05-121-4/+0
| | | | llvm-svn: 50990
* Add support for vicmp/vfcmp codegen, more legalize support coming.Nate Begeman2008-05-124-0/+99
| | | | | | This is necessary to unbreak the build. llvm-svn: 50988
* One real change - don't hoist something that's trivially rematerializable. It'sBill Wendling2008-05-121-18/+19
| | | | | | | | possible for it to produce worse code than before. The rest of this patch is code cleanup. llvm-svn: 50987
* Fix build breakageNate Begeman2008-05-121-1/+1
| | | | llvm-svn: 50986
* Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRefNate Begeman2008-05-1211-1461/+1697
| | | | | | for details. CodeGen support coming in a follow up patch llvm-svn: 50985
* Make firstEightPowers const.Dan Gohman2008-05-121-2/+2
| | | | llvm-svn: 50975
* Update comments.Dan Gohman2008-05-122-5/+4
| | | | llvm-svn: 50974
* Fix a compile error on compilers that still want a return valueDan Gohman2008-05-121-0/+1
| | | | | | in a non-void function that calls abort. llvm-svn: 50969
* Fix a missing break in the ISD::FLT_ROUNDS_ handling. Patch by giuma!Dan Gohman2008-05-121-0/+1
| | | | llvm-svn: 50967
* Move the various analyses used by GVN into static variables so we don't have ↵Owen Anderson2008-05-121-30/+21
| | | | | | to keep passing them around or refetching them. llvm-svn: 50963
* prune #includes.Chris Lattner2008-05-121-3/+0
| | | | llvm-svn: 50962
* Add a new SparsePropagation analysis utility, which allows you to doChris Lattner2008-05-121-0/+320
| | | | | | | | SCCP like sparse lattice analysis with relative ease. Just pick your lattice function and implement the transfer function and you're good. Just make sure you don't break monotonicity ;-) llvm-svn: 50961
* Make constructors target-specific. This fixes problems where the path wouldNick Lewycky2008-05-112-1/+17
| | | | | | include backslashes on Windows. This should fix llvm-ld problems on win32. llvm-svn: 50960
* Add noteAnton Korobeynikov2008-05-111-0/+38
| | | | llvm-svn: 50959
* Fix various DOUTs to not call the extremely expensive Value::getName() Chris Lattner2008-05-111-5/+5
| | | | | | | | method. DOUT statements are disabled when assertions are off, but the side effects of getName() are still evaluated. Just call getNameSTart, which is close enough and doesn't cause heap traffic. llvm-svn: 50958
* Simplify code by using SwitchInst::findCaseValue instead of reimplementing it.Chris Lattner2008-05-101-14/+2
| | | | llvm-svn: 50957
* Fix linking of internal aliasesAnton Korobeynikov2008-05-101-28/+55
| | | | llvm-svn: 50950
* merge of use-diet branch to trunkGabor Greif2008-05-107-262/+598
| | | | llvm-svn: 50943
* When transforming a vector_shuffle to a load, the base address must not be ↵Evan Cheng2008-05-101-0/+2
| | | | | | an undef. llvm-svn: 50940
* For now, abort when an ISD::VAARG is encountered on x86-64, ratherDan Gohman2008-05-102-3/+18
| | | | | | | | | than silently generate invalid code. llvm-gcc does not currently use VAArgInst; it lowers va_arg in the front-end. llvm-svn: 50930
OpenPOWER on IntegriCloud