| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Added source file/line correspondence for dwarf (PowerPC only at this point.) | Jim Laskey | 2005-12-16 | 2 | -0/+17 |
| | | | | | llvm-svn: 24748 | ||||
| * | Weak and linkonce global vars should still have a .globl emitted for them | Chris Lattner | 2005-12-16 | 1 | -1/+2 |
| | | | | | llvm-svn: 24747 | ||||
| * | Add a second vector type to the VRRC register class, and fix some patterns | Nate Begeman | 2005-12-16 | 2 | -6/+6 |
| | | | | | | | so that tablegen can infer all types. llvm-svn: 24746 | ||||
| * | Update the darwin handling of linkonce & weak functions and GV stubs. This | Chris Lattner | 2005-12-16 | 1 | -57/+63 |
| | | | | | | | should work in all permutations. llvm-svn: 24728 | ||||
| * | Remove a now unused statistic. | Nate Begeman | 2005-12-14 | 1 | -1/+0 |
| | | | | | llvm-svn: 24720 | ||||
| * | Use the new predicate support that Evan Cheng added to remove some code | Nate Begeman | 2005-12-14 | 2 | -57/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from the DAGToDAG cpp file. This adds pattern support for vector and scalar fma, which passes test/Regression/CodeGen/PowerPC/fma.ll, and does the right thing in the presence of -disable-excess-fp-precision. Allows us to match: void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 %tmp3 = add <4 x float> %tmp2, %tmp1 store <4 x float> %tmp3, <4 x float> *%a ret void } As: _foo: li r2, 0 lvx v0, r2, r3 vmaddfp v0, v0, v0, v0 stvx v0, r2, r3 blr Or, with llc -disable-excess-fp-precision, _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v1, v0, v0, v1 vaddfp v0, v1, v0 stvx v0, r2, r3 blr llvm-svn: 24719 | ||||
| * | Added predicate !NoExcessFPPrecision to FMADD, FMADDS, FMSUB, and FMSUBS. | Evan Cheng | 2005-12-14 | 1 | -4/+11 |
| | | | | | llvm-svn: 24716 | ||||
| * | Add support for fmul node of type v4f32. | Nate Begeman | 2005-12-14 | 2 | -0/+21 |
| | | | | | | | | | | | | | | | | | | | | | | | void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } Is selected to: _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v0, v0, v0, v1 stvx v0, r2, r3 blr llvm-svn: 24701 | ||||
| * | Prepare support for AltiVec multiply, divide, and sqrt. | Nate Begeman | 2005-12-13 | 2 | -2/+16 |
| | | | | | llvm-svn: 24700 | ||||
| * | Use the shared asmprinter code for printing special llvm globals | Chris Lattner | 2005-12-13 | 1 | -33/+5 |
| | | | | | llvm-svn: 24695 | ||||
| * | reindent a loop, unswitch a loop. No functionality changes | Chris Lattner | 2005-12-13 | 1 | -105/+109 |
| | | | | | llvm-svn: 24692 | ||||
| * | Remove type casts that are no longer needed | Chris Lattner | 2005-12-11 | 2 | -6/+7 |
| | | | | | llvm-svn: 24661 | ||||
| * | Fix the JIT failures from last night. | Chris Lattner | 2005-12-11 | 1 | -1/+2 |
| | | | | | llvm-svn: 24659 | ||||
| * | Add support for TargetConstantPool nodes to the dag isel emitter, and use | Nate Begeman | 2005-12-10 | 3 | -29/+40 |
| | | | | | | | | them in the PPC backend, to simplify some logic out of Select and SelectAddr. llvm-svn: 24657 | ||||
| * | Add support patterns to many load and store instructions which will | Nate Begeman | 2005-12-09 | 2 | -76/+133 |
| | | | | | | | hopefully use patterns in the near future. llvm-svn: 24651 | ||||
| * | Teach the PPC backend about the ctor and dtor list when not using __main and | Chris Lattner | 2005-12-09 | 1 | -0/+34 |
| | | | | | | | linking the entire program into one bc file. llvm-svn: 24645 | ||||
| * | Add another important case we miss | Chris Lattner | 2005-12-08 | 1 | -0/+19 |
| | | | | | llvm-svn: 24639 | ||||
| * | Silence another annoying GCC warning | Chris Lattner | 2005-12-06 | 1 | -1/+1 |
| | | | | | llvm-svn: 24627 | ||||
| * | Use new PPC-specific nodes to represent shifts which require the 6-bit | Chris Lattner | 2005-12-06 | 3 | -15/+40 |
| | | | | | | | | | | amount handling that PPC provides. These are generated by the lowering code and prevents the dag combiner from assuming (rightfully) that the shifts don't only look at 5 bits. This fixes a miscompilation of crafty with the new front-end. llvm-svn: 24615 | ||||
| * | Add some explicit type casts so that tblgen knows the type of the shift | Chris Lattner | 2005-12-05 | 1 | -5/+5 |
| | | | | | | | amount, which is not necessarily the same as the type being shifted. llvm-svn: 24594 | ||||
| * | The basic fneg cases are already autogen'd | Chris Lattner | 2005-12-04 | 1 | -4/+2 |
| | | | | | llvm-svn: 24592 | ||||
| * | Autogen matching code for ADJCALLSTACK[UP|DOWN], thanks to Evan's tblgen | Chris Lattner | 2005-12-04 | 2 | -11/+12 |
| | | | | | | | improvements. llvm-svn: 24591 | ||||
| * | Finish moving uncond br over to .td file, remove from .cpp file. | Chris Lattner | 2005-12-04 | 2 | -4/+2 |
| | | | | | llvm-svn: 24590 | ||||
| * | Define BR in the .td file now that Evan made tblgen smarter. | Chris Lattner | 2005-12-04 | 2 | -5/+10 |
| | | | | | llvm-svn: 24589 | ||||
| * | Make sure these get added into the codegenmap when appropriate | Chris Lattner | 2005-12-01 | 1 | -4/+5 |
| | | | | | llvm-svn: 24566 | ||||
| * | Support multiple ValueTypes per RegisterClass, needed for upcoming vector | Nate Begeman | 2005-12-01 | 1 | -7/+8 |
| | | | | | | | work. This change has no effect on generated code. llvm-svn: 24563 | ||||
| * | Cosmetic change, better reflects actual values | Nate Begeman | 2005-12-01 | 1 | -6/+5 |
| | | | | | llvm-svn: 24562 | ||||
| * | Fix a regression caused by a patch earlier today | Chris Lattner | 2005-12-01 | 1 | -1/+2 |
| | | | | | llvm-svn: 24561 | ||||
| * | Use a getCopyToReg() variant to generate a flaggy CopyToReg node. | Evan Cheng | 2005-12-01 | 1 | -8/+2 |
| | | | | | llvm-svn: 24558 | ||||
| * | SelectNodeTo now returns N. Use it instead of return N directly. | Chris Lattner | 2005-11-30 | 1 | -108/+81 |
| | | | | | llvm-svn: 24549 | ||||
| * | Fix Regression/CodeGen/PowerPC/2005-11-30-vastart-crash.ll | Chris Lattner | 2005-11-30 | 1 | -2/+6 |
| | | | | | llvm-svn: 24547 | ||||
| * | No longer track value types for asm printer operands, and remove them as | Nate Begeman | 2005-11-30 | 1 | -30/+17 |
| | | | | | | | | an argument to every operand printing function. Requires some slight tweaks to x86, the only user. llvm-svn: 24541 | ||||
| * | First chunk of actually generating vector code for packed types. These | Nate Begeman | 2005-11-30 | 1 | -11/+51 |
| | | | | | | | | | | | | | | | | | | | | | | | | changes allow us to generate the following code: _foo: li r2, 0 lvx v0, r2, r3 vaddfp v0, v0, v0 stvx v0, r2, r3 blr for this llvm: void %foo(<4 x float>* %a) { entry: %tmp1 = load <4 x float>* %a %tmp2 = add <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float>* %a ret void } llvm-svn: 24534 | ||||
| * | Represent the encoding of the SPR instructions as they actually are, so | Nate Begeman | 2005-11-29 | 2 | -8/+18 |
| | | | | | | | | that we can use the correct SPR numbers in the InstrInfo.td file. This is necessary to support VRsave. llvm-svn: 24521 | ||||
| * | Hook up one type, v4f32, to the VR RegisterClass for now. | Nate Begeman | 2005-11-29 | 1 | -0/+6 |
| | | | | | llvm-svn: 24517 | ||||
| * | Add the remainder of the AltiVec 4 x float instructions. Further | Nate Begeman | 2005-11-29 | 2 | -14/+61 |
| | | | | | | | | enhancements will be necessary to teach the code generator that since there is no fmul, it will have to do vmaddfp, adding +0.0. llvm-svn: 24516 | ||||
| * | No targets support line number info yet. | Chris Lattner | 2005-11-29 | 1 | -0/+3 |
| | | | | | llvm-svn: 24513 | ||||
| * | Add the majority of the vector machien value types we expect to support, | Nate Begeman | 2005-11-29 | 1 | -1/+1 |
| | | | | | | | | and make a few changes to the legalization machinery to support more than 16 types. llvm-svn: 24511 | ||||
| * | Fixed a comment bug: | Evan Cheng | 2005-11-29 | 1 | -1/+1 |
| | | | | | | | createPPCPatternInstructionSelector -> createPPCISelPattern llvm-svn: 24510 | ||||
| * | don't say this is i128, because it isn't yet. Hopefully nate will change | Chris Lattner | 2005-11-29 | 1 | -1/+1 |
| | | | | | | | | this to be something sane, but in the mean time it is unused, so safe to make something bogus. llvm-svn: 24504 | ||||
| * | Small tweaks noticed while on the plane. | Nate Begeman | 2005-11-26 | 3 | -5/+10 |
| | | | | | llvm-svn: 24492 | ||||
| * | Some first bits of AltiVec stuff: Instruction Formats, Encodings, and | Nate Begeman | 2005-11-23 | 3 | -1/+123 |
| | | | | | | | | | | | Registers. Apologies to Jim if the scheduling info so far isn't accurate. There's a few more things like VRsave support that need to be finished up in my local tree before I can commit code that Does The Right Thing for turning 4 x float into the various altivec packed float instructions. llvm-svn: 24489 | ||||
| * | Use generic constant pool emission code in the AsmPrinter class. | Chris Lattner | 2005-11-21 | 1 | -30/+4 |
| | | | | | llvm-svn: 24465 | ||||
| * | Use the FunctionNumber provided by the AsmPrinter class | Chris Lattner | 2005-11-21 | 1 | -19/+15 |
| | | | | | llvm-svn: 24462 | ||||
| * | Use CommentString where possible, fix a bug where aix mode wouldn't assemble | Chris Lattner | 2005-11-21 | 1 | -4/+4 |
| | | | | | | | due to basic blocks being misnamed. llvm-svn: 24459 | ||||
| * | unify the darwin and aix constant pool printers | Chris Lattner | 2005-11-21 | 1 | -48/+28 |
| | | | | | llvm-svn: 24458 | ||||
| * | Adjust to capitalized AsmPrinter method names | Chris Lattner | 2005-11-21 | 1 | -11/+11 |
| | | | | | llvm-svn: 24456 | ||||
| * | use PrivateGlobalPrefix for basic blocks | Chris Lattner | 2005-11-21 | 1 | -5/+6 |
| | | | | | llvm-svn: 24453 | ||||
| * | This is now implemented in common codegen code | Chris Lattner | 2005-11-21 | 1 | -20/+0 |
| | | | | | llvm-svn: 24446 | ||||
| * | set PrivateGlobalPrefix on darwin, use it when printing out CP references | Chris Lattner | 2005-11-21 | 1 | -7/+9 |
| | | | | | llvm-svn: 24441 | ||||

