summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* add a trivial foldChris Lattner2005-10-171-0/+4
| | | | llvm-svn: 23764
* More PPC32 -> PPC changes, as well as merging some classes that wereNate Begeman2005-10-1620-170/+152
| | | | | | redundant after the change. llvm-svn: 23759
* Fix this logic.Chris Lattner2005-10-151-1/+1
| | | | llvm-svn: 23756
* Add a case we were missing that was causing us to fail ↵Chris Lattner2005-10-151-0/+14
| | | | | | CodeGen/PowerPC/rlwinm.ll:test3 llvm-svn: 23755
* Remove some dead code now that the dag combiner exists.Nate Begeman2005-10-151-15/+0
| | | | llvm-svn: 23754
* Remove some dead code: the ORI/ORIS cases are autogen'd. This makesChris Lattner2005-10-151-42/+1
| | | | | | SelectIntImmediateExpr dead. llvm-svn: 23753
* prune #includesChris Lattner2005-10-152-3/+2
| | | | llvm-svn: 23752
* These instructions are now autogeneratedChris Lattner2005-10-151-34/+0
| | | | llvm-svn: 23751
* Add a pattern for FSQRTSChris Lattner2005-10-151-1/+1
| | | | llvm-svn: 23750
* remove dead codeChris Lattner2005-10-151-8/+3
| | | | llvm-svn: 23749
* Use getExtLoad here instead of getNode, as extloads produce two values. ThisChris Lattner2005-10-151-2/+3
| | | | | | fixes a legalize failure on SPASS for itanium. llvm-svn: 23747
* remove broken SRA/rlwimi caseChris Lattner2005-10-151-11/+2
| | | | llvm-svn: 23746
* Rename PPC32*.h to PPC*.hChris Lattner2005-10-1414-17/+16
| | | | | | This completes the grand PPC file renaming llvm-svn: 23745
* Merge PPCJITInfo.h and PPC32JITInfo.h. Note that the PowerPCJITInfoChris Lattner2005-10-145-45/+22
| | | | | | and PPC32JITInfo classes should be merged. llvm-svn: 23744
* Rename PowerPC*.h to PPC*.hChris Lattner2005-10-1417-19/+19
| | | | llvm-svn: 23743
* Rename PowerPCInstrBuilder.h -> PPC*Chris Lattner2005-10-144-3/+3
| | | | llvm-svn: 23742
* Nuke the PowerPCTargetMachine.h header. Note that the PowerPCTargetMachineChris Lattner2005-10-144-49/+24
| | | | | | still should be merged into the PPC32TargetMachine class llvm-svn: 23741
* Rename PowerPC*.td -> PPC*.tdChris Lattner2005-10-144-4/+4
| | | | llvm-svn: 23740
* These are deadChris Lattner2005-10-142-74/+0
| | | | llvm-svn: 23739
* Eliminate PowerPC.td and PPC32.td, consolidating them into PPC.tdChris Lattner2005-10-149-32/+70
| | | | llvm-svn: 23738
* Like the comment says...Chris Lattner2005-10-141-6/+0
| | | | llvm-svn: 23737
* Nuke PowerPCInstrFormats.h, its contents are dead. Remove the definitionsChris Lattner2005-10-146-87/+11
| | | | | | from the .td file that correspond to it llvm-svn: 23736
* Properly split f32 and f64 into separate register classes for scalar sse fpNate Begeman2005-10-145-79/+78
| | | | | | fixing a bunch of nasty hackery llvm-svn: 23735
* Remove an unnecsesary file. PPC32 and PPC64 share architected registers.Nate Begeman2005-10-144-52/+38
| | | | | | | We will decide with subtarget support whether we ever use an i64 register class. llvm-svn: 23734
* add the integer truncate/extension operationsChris Lattner2005-10-141-3/+14
| | | | llvm-svn: 23733
* These are now autogeneratedChris Lattner2005-10-141-12/+0
| | | | llvm-svn: 23731
* Add patterns for FP round/extendChris Lattner2005-10-141-2/+2
| | | | llvm-svn: 23727
* add a new SDTCisOpSmallerThanOp type constraint, and implement ↵Chris Lattner2005-10-141-0/+13
| | | | | | fround/fextend in terms of it llvm-svn: 23726
* fold sext_in_reg, sext_in_reg where both have the same VT. This wasNate Begeman2005-10-141-1/+1
| | | | | | popping up in Fourinarow. llvm-svn: 23722
* Allow $Chris Lattner2005-10-141-1/+1
| | | | llvm-svn: 23721
* Relax the checking on zextload generation a bit, since as sabre pointed outNate Begeman2005-10-142-27/+49
| | | | | | | | | | you could be AND'ing with the result of a shift that shifts out all the bits you care about, in addition to a constant. Also, move over an add/sub_parts fold from legalize to the dag combiner, where it works for things other than constants. Woot! llvm-svn: 23720
* Fix the trunc(load) case, finally allowing crafty and povray to passChris Lattner2005-10-131-1/+2
| | | | llvm-svn: 23718
* Fix some bugs in (sext (load x))Chris Lattner2005-10-131-1/+2
| | | | llvm-svn: 23717
* When ExpandOp'ing a [SZ]EXTLOAD, make sure to remember that the chainChris Lattner2005-10-131-2/+28
| | | | | | is also legal. Add support for ExpandOp'ing raw EXTLOADs too. llvm-svn: 23716
* Implement PromoteOp for *EXTLOAD, allowing MallocBench/gs to LegalizeChris Lattner2005-10-131-0/+10
| | | | llvm-svn: 23715
* Fix the remaining DAGCombiner issues pointed out by sabre. This should fixNate Begeman2005-10-131-16/+11
| | | | | | the remainder of the failures introduced by my patch last night. llvm-svn: 23714
* Fix a minor bug in the dag combiner that broke pcompress2 and some otherChris Lattner2005-10-131-4/+3
| | | | | | tests. llvm-svn: 23713
* Add support to Legalize for expanding i64 sextload/zextload into hi and loNate Begeman2005-10-131-0/+35
| | | | | | | parts. This should fix the crafty and signed long long unit test failure on x86 last night. llvm-svn: 23711
* Inhibit instructions from being pushed before function calls. This willJim Laskey2005-10-131-3/+55
| | | | | | minimize unnecessary spilling. llvm-svn: 23710
* Move some Legalize functionality over to the DAGCombiner where it belongs.Nate Begeman2005-10-133-149/+79
| | | | | | Kill some dead code. llvm-svn: 23706
* Fix a potential bug with two combine-to's back to back that chris pointedNate Begeman2005-10-121-4/+14
| | | | | | | | | | out, where after the first CombineTo() call, the node the second CombineTo wishes to replace may no longer exist. Fix a very real bug with the truncated load optimization on little endian targets, which do not need a byte offset added to the load. llvm-svn: 23704
* More cool stuff for the dag combiner. We can now finally handle thingsNate Begeman2005-10-121-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | like turning: _foo: fctiwz f0, f1 stfd f0, -8(r1) lwz r2, -4(r1) rlwinm r3, r2, 0, 16, 31 blr into _foo: fctiwz f0,f1 stfd f0,-8(r1) lhz r3,-2(r1) blr Also removed an unncessary constraint from sra -> srl conversion, which should take care of hte only reason we would ever need to handle sra in MaskedValueIsZero, AFAIK. llvm-svn: 23703
* Finally committing to the new scheduler. Still -sched=none by default.Jim Laskey2005-10-121-249/+125
| | | | llvm-svn: 23702
* Added graphviz/gv support for MF.Jim Laskey2005-10-121-0/+22
| | | | llvm-svn: 23700
* Fix (hopefully the last) issue where LSR is nondeterminstic. When pullingChris Lattner2005-10-111-8/+14
| | | | | | | out CSE's of base expressions it could build a result whose order was nondet. llvm-svn: 23698
* Fix another problem where LSR was being nondeterminstic. Also remove elementsChris Lattner2005-10-111-10/+16
| | | | | | from the end of a vector instead of the beginning llvm-svn: 23697
* Fix another lsr-is-nondeterministic caseChris Lattner2005-10-111-6/+10
| | | | llvm-svn: 23695
* Fix a powerpc crash on CodeGen/Generic/llvm-ct-intrinsics.llChris Lattner2005-10-111-1/+1
| | | | llvm-svn: 23694
* Add a canonicalization that got lost, fixing PowerPC/fold-li.ll:SUBChris Lattner2005-10-111-3/+5
| | | | llvm-svn: 23693
* clean up some corner casesChris Lattner2005-10-101-2/+6
| | | | llvm-svn: 23692
OpenPOWER on IntegriCloud