summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Initial support for inline asm memory operand constraints.Akira Hatanaka2011-06-091-0/+12
| | | | llvm-svn: 132768
* Put back removed line.Akira Hatanaka2011-06-071-0/+1
| | | | llvm-svn: 132725
* Coding style fixes.Akira Hatanaka2011-06-071-12/+0
| | | | | | | | | - Fix indentation. - Move comments. - Fit lines in 80 columns. - Remove dead code. llvm-svn: 132724
* Detect FI|cst pattern in MipsDAGToDAGISel::SelectAddr. Patch by Sasa Stankovic.Akira Hatanaka2011-06-021-16/+17
| | | | llvm-svn: 132448
* This patch implements the thread local storage. Implemented are GeneralBruno Cardoso Lopes2011-05-311-0/+17
| | | | | | | | Dynamic, Initial Exec and Local Exec TLS models. Patch by Sasa Stankovic llvm-svn: 132322
* Define a wrapper node for target constant nodes (tglobaladdr, etc.).Akira Hatanaka2011-05-281-6/+2
| | | | | | Need this to prevent emitting illegal conditional move instructions. llvm-svn: 132240
* Reverse unnecessary changes made in r129606 and r129608. There is no change ↵Akira Hatanaka2011-04-151-7/+7
| | | | | | in functionality. llvm-svn: 129612
* Fix lines that have incorrect indentation or exceed 80 columns. There is no ↵Akira Hatanaka2011-04-151-7/+7
| | | | | | change in functionality. llvm-svn: 129606
* Move transformation of JmpLink and related nodes done during instruction ↵Akira Hatanaka2011-04-041-56/+2
| | | | | | selection to Legalize phase. llvm-svn: 128830
* Undo changes mistakenly made in revision 128750.Akira Hatanaka2011-04-021-2/+56
| | | | llvm-svn: 128751
* Insert space before ';' to prevent warnings.Akira Hatanaka2011-04-021-56/+2
| | | | llvm-svn: 128750
* Remove redundant code. There are assignments to variables Base and Offset ↵Akira Hatanaka2011-04-011-5/+0
| | | | | | right after the code that is removed. llvm-svn: 128742
* Improve div/rem node handling on mips. Patch by Akira HatanakaBruno Cardoso Lopes2011-03-041-23/+6
| | | | llvm-svn: 127034
* Lowers block address. Currently asserts when relocation model is not PIC. ↵Bruno Cardoso Lopes2011-03-041-1/+7
| | | | | | Patch by Akira Hatanaka llvm-svn: 127027
* Remove (hopefully) all trailing whitespaces from the mips backend. Patch by ↵Bruno Cardoso Lopes2011-03-041-50/+50
| | | | | | Hatanaka, Akira llvm-svn: 127003
* Change all self assignments X=X to (void)X, so that we can turn on aJeffrey Yasskin2010-12-231-1/+1
| | | | | | | new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
* rename MVT::Flag to MVT::Glue. "Flag" is a terrible name forChris Lattner2010-12-211-7/+7
| | | | | | | something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310
* Enable mips32 mul instruction. Patch by Akira Hatanaka <ahatanaka@mips.com>Bruno Cardoso Lopes2010-11-121-0/+2
| | | | llvm-svn: 118864
* fix a long standing wart: all the ComplexPattern's were beingChris Lattner2010-09-211-6/+4
| | | | | | | | | | | passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
* Remove Predicate_* calls from MipsJakob Stoklund Olesen2010-09-031-2/+3
| | | | llvm-svn: 112919
* Don't call Predicate_* in Mips.Jakob Stoklund Olesen2010-08-181-3/+3
| | | | llvm-svn: 111468
* SubRegIndex'ize MipsJakob Stoklund Olesen2010-05-241-6/+6
| | | | llvm-svn: 104514
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-171-1/+0
| | | | | | | | | | | | | const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
* Sink InstructionSelect() out of each target into SDISel, and rename itChris Lattner2010-03-021-32/+3
| | | | | | | | | | | | DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) llvm-svn: 97555
* move target-independent opcodes out of TargetInstrInfoChris Lattner2010-02-091-3/+2
| | | | | | | | | into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
* MulOp is actually a Mips specific node, so do the match using Opcode. This ↵Bruno Cardoso Lopes2010-02-011-1/+1
| | | | | | fixes PR6192 llvm-svn: 94977
* Fix a bug introduced on r92564 where the name "Node" was alreadyBruno Cardoso Lopes2010-01-191-2/+2
| | | | | | in use by Mips. llvm-svn: 93897
* On pic function calls some arguments were marked dead andBruno Cardoso Lopes2010-01-191-10/+25
| | | | | | the instruction to load those args removed. This fix PR6071 llvm-svn: 93880
* load f64 +0.0 in a cleaner way. This fix part of PR5445Bruno Cardoso Lopes2010-01-191-3/+12
| | | | llvm-svn: 93876
* Change SelectCode's argument from SDValue to SDNode *, to make it moreDan Gohman2010-01-051-38/+37
| | | | | | | | | clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. llvm-svn: 92564
* Support PIC loading of constant pool entriesBruno Cardoso Lopes2009-11-251-9/+8
| | | | llvm-svn: 89863
* Use endianess dependent offsets for load/store of doubles whenBruno Cardoso Lopes2009-11-251-0/+8
| | | | | | using two swc/lwc instead of sdc/ldc. llvm-svn: 89826
* - Add sugregister logic to handle f64=(f32,f32).Bruno Cardoso Lopes2009-11-191-0/+129
| | | | | | | | | | | | - Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) llvm-svn: 89322
* - Fix a small bug while handling target constant pools (one param was missing).Bruno Cardoso Lopes2009-11-161-0/+21
| | | | | | | | | | | | | | | - Add a smarter constant pool loading, instead of: lui $2, %hi($CPI1_0) addiu $2, $2, %lo($CPI1_0) lwc1 $f0, 0($2) Generate: lui $2, %hi($CPI1_0) lwc1 $f0, %lo($CPI1_0)($2) llvm-svn: 88886
* Support fp64 immediate zero, this fixes only part of PR5445 Bruno Cardoso Lopes2009-11-131-0/+10
| | | | | | because the testcase is triggering one more bug. llvm-svn: 88674
* Remove uninteresting and confusing debug output.Dan Gohman2009-11-051-1/+0
| | | | llvm-svn: 86149
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-251-1/+0
| | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* Rename getTargetNode to getMachineNode, for consistency with theDan Gohman2009-09-251-15/+15
| | | | | | | | naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
* Reapply 80278Bruno Cardoso Lopes2009-09-011-1/+0
| | | | | | | | Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80691
* Revert 80278 for now, it caused a lot of MIPS tests to failBruno Cardoso Lopes2009-08-271-0/+1
| | | | llvm-svn: 80280
* Revamp our friend Mips :)Bruno Cardoso Lopes2009-08-271-1/+0
| | | | | | | | Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80278
* Fix some refactos for iostream changes (in -Asserts mode).Daniel Dunbar2009-08-231-4/+4
| | | | | | - The world needs better C++ refactoring tools, can I get an Amen!? llvm-svn: 79843
* eliminate the last DOUTs from the targets.Chris Lattner2009-08-231-26/+12
| | | | llvm-svn: 79833
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-111-23/+23
| | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-101-24/+24
| | | | | | own struct type. llvm-svn: 78610
* Minor code simplifications.Dan Gohman2009-08-011-1/+0
| | | | llvm-svn: 77768
* Implement changes from Chris's feedback.Torok Edwin2009-07-081-0/+2
| | | | | | Finish converting lib/Target. llvm-svn: 75043
* Convert Alpha and Mips to use a MachineFunctionInfo subclass toDan Gohman2009-06-031-19/+19
| | | | | | | | | | carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This eliminates the need for them to search through the MachineRegisterInfo livein list in order to identify these virtual registers. EmitLiveInCopies is now the only user of the virtual register portion of MachineRegisterInfo's livein data. llvm-svn: 72802
* Trailing whitespace.Dale Johannesen2009-06-011-1/+1
| | | | llvm-svn: 72705
OpenPOWER on IntegriCloud