summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Change this code ot pass register classes into the stack slot spiller/reloaderChris Lattner2005-09-304-11/+19
| | | | | | | code. PrologEpilogInserter hasn't been updated yet though, so targets cannot use this info. llvm-svn: 23536
* Change these methods to take RC'sChris Lattner2005-09-301-2/+4
| | | | llvm-svn: 23535
* Use the 32-bit version for nowChris Lattner2005-09-301-1/+1
| | | | llvm-svn: 23534
* Add a bunch of patterns for F64 FP ops, add some more integer opsChris Lattner2005-09-292-38/+84
| | | | llvm-svn: 23533
* Remove code for patterns that are autogeneratedChris Lattner2005-09-291-30/+9
| | | | llvm-svn: 23532
* begining alpha subtarget supportAndrew Lenharth2005-09-297-19/+86
| | | | llvm-svn: 23531
* tblgen autogens this pattern nowChris Lattner2005-09-291-6/+0
| | | | llvm-svn: 23530
* Teach tablegen to reassociate operators when possible. This allows it toChris Lattner2005-09-291-10/+96
| | | | | | find all of teh pattern matches for EQV from one definition llvm-svn: 23529
* copy and paste errorAndrew Lenharth2005-09-291-1/+1
| | | | llvm-svn: 23528
* now that tblgen is smarter, this pattern is not needed. Also, tblgenChris Lattner2005-09-291-3/+1
| | | | | | now inverts commuted versions of ANDC/ORC with the current .td file. llvm-svn: 23527
* Teach tblgen to build permutations of instructions, so that the target authorChris Lattner2005-09-292-6/+193
| | | | | | | | | | | doesn't have to specify them manually. It currently handles associativity, e.g. knowing that (X*Y)+Z also matches X+(Y*Z) and will be extended in the future. It is smart enough to not introduce duplicate patterns or patterns that can never match. llvm-svn: 23526
* Insert stores after phi nodes in the normal dest. This fixesChris Lattner2005-09-291-2/+5
| | | | | | LowerInvoke/2005-08-03-InvokeWithPHI.ll llvm-svn: 23525
* consistency with other cases, no functionality changeChris Lattner2005-09-291-0/+2
| | | | llvm-svn: 23524
* Make the JIT default to the DAG isel instead of the pattern isel, like LLC.Chris Lattner2005-09-291-1/+4
| | | | | | | | | The Pattern isel has some strange memory corruption issues going on. :( This should have been converted over anyway, but it got forgotten somehow when switching to the dag isel. llvm-svn: 23523
* Fix two bugs in my patch earlier today that broke int->fp conversion on X86.Chris Lattner2005-09-291-2/+2
| | | | llvm-svn: 23522
* Fold isascii into a simple comparison. This speeds up 197.parser by 7.4%,Chris Lattner2005-09-291-0/+26
| | | | | | bringing the LLC time down to the CBE time. llvm-svn: 23521
* new testcase for isasciiChris Lattner2005-09-291-2/+4
| | | | llvm-svn: 23520
* remove a bunch of unneeded stuff, or self evident commentsChris Lattner2005-09-291-45/+6
| | | | llvm-svn: 23519
* add a new testcaseChris Lattner2005-09-291-0/+23
| | | | llvm-svn: 23518
* Implement a couple of memcmp folds from the todo listChris Lattner2005-09-291-3/+121
| | | | llvm-svn: 23517
* Silence VC++ redeclaration warnings.Jeff Cohen2005-09-291-4/+6
| | | | llvm-svn: 23516
* Never rely on ReplaceAllUsesWith when selecting, use CodeGenMap instead.Chris Lattner2005-09-291-34/+29
| | | | | | | ReplaceAllUsesWith does not replace scalars SDOperand floating around on the stack, permitting things to be selected multiple times. llvm-svn: 23515
* Codegen ADD X, IMM -> addis/addi if needed.Chris Lattner2005-09-281-2/+12
| | | | | | This implements PowerPC/fold-li.ll llvm-svn: 23514
* add a testcase for a feature we regressed on because noone wrote the test! :(Chris Lattner2005-09-281-0/+14
| | | | llvm-svn: 23513
* Autogen MUL, move FP cases togetherChris Lattner2005-09-281-24/+12
| | | | llvm-svn: 23512
* disentangle FP from INT versions of div/mulChris Lattner2005-09-281-18/+16
| | | | llvm-svn: 23511
* Use the autogenerated matcher for ADD/SUBChris Lattner2005-09-281-30/+0
| | | | llvm-svn: 23510
* add a patter for SUBFICChris Lattner2005-09-281-1/+1
| | | | llvm-svn: 23509
* Mark int binops as int-only, add FP binops. Mark FADD/FMUL as commutative butChris Lattner2005-09-281-15/+23
| | | | | | not associative. Add [SU]REM. llvm-svn: 23508
* wrap a long lineChris Lattner2005-09-281-1/+2
| | | | llvm-svn: 23507
* Add FP versions of the binary operators, keeping the int and fp worlds seperate.Chris Lattner2005-09-284-115/+124
| | | | llvm-svn: 23506
* Add FP versions of the binary operators, keeping the int and fp worlds seperate.Chris Lattner2005-09-284-97/+108
| | | | | | | | Though I have done extensive testing, it is possible that this will break things in configs I can't test. Please let me know if this causes a problem and I'll fix it ASAP. llvm-svn: 23505
* Add FP versions of the binary operators, keeping the int and fp worlds seperate.Chris Lattner2005-09-284-87/+209
| | | | | | | | Though I have done extensive testing, it is possible that this will break things in configs I can't test. Please let me know if this causes a problem and I'll fix it ASAP. llvm-svn: 23504
* Mark associative nodes as associativeChris Lattner2005-09-281-6/+12
| | | | llvm-svn: 23503
* add support for an associative markerChris Lattner2005-09-282-5/+7
| | | | llvm-svn: 23502
* Emit an error if instructions or patterns are defined but can never match.Chris Lattner2005-09-282-3/+52
| | | | | | | | | | | | | | Currently we check that immediate values live on the RHS of commutative operators. Defining ORI like this, for example: def ORI : DForm_4<24, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2), "ori $dst, $src1, $src2", [(set GPRC:$dst, (or immZExt16:$src2, GPRC:$src1))]>; results in: tblgen: In ORI: Instruction can never match: Immediate values must be on the RHS of commutative operators! llvm-svn: 23501
* Nate pointed out that mulh[us] are commutative as well. Thanks!Chris Lattner2005-09-281-2/+2
| | | | llvm-svn: 23500
* collect commutativity informationChris Lattner2005-09-282-0/+24
| | | | llvm-svn: 23499
* expose commutativity informationChris Lattner2005-09-281-8/+17
| | | | llvm-svn: 23498
* All (xor *) cases are autogenerated nowChris Lattner2005-09-281-43/+0
| | | | llvm-svn: 23497
* add support for missed eqv testsChris Lattner2005-09-281-0/+9
| | | | llvm-svn: 23496
* add testcase for nandChris Lattner2005-09-281-1/+7
| | | | llvm-svn: 23495
* Implement PowerPC/eqv-andc-orc-nor.ll:EQV3Chris Lattner2005-09-281-1/+5
| | | | llvm-svn: 23494
* Consolidate the eqv.ll and nor.ll files together.Chris Lattner2005-09-283-51/+58
| | | | | | Add a missed eqv case. llvm-svn: 23493
* Prefer cheaper patterns to more expensive ones. Print the costs to the ↵Chris Lattner2005-09-281-39/+50
| | | | | | | | generated file llvm-svn: 23492
* simple tests for nor generationChris Lattner2005-09-281-0/+12
| | | | llvm-svn: 23491
* learn to codegen not as NOR instead of xoris/xoriChris Lattner2005-09-281-1/+5
| | | | llvm-svn: 23490
* These nodes are all autogeneratedChris Lattner2005-09-281-44/+0
| | | | llvm-svn: 23489
* Select Constant nodes to TargetConstant nodesChris Lattner2005-09-281-5/+19
| | | | llvm-svn: 23488
* Constant fold llvm.sqrtChris Lattner2005-09-281-1/+9
| | | | llvm-svn: 23487
OpenPOWER on IntegriCloud