summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MSP430
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix invalid operand updates & implement post-inc memory operandsAnton Korobeynikov2009-11-082-16/+94
| | | | llvm-svn: 86466
* indicate what the native integer types for the target are.Chris Lattner2009-11-071-1/+1
| | | | | | Please verify. llvm-svn: 86397
* First try of the post-inc operands handling... Not fully worked, though :(Anton Korobeynikov2009-11-073-11/+87
| | | | llvm-svn: 86386
* Add some dummy support for post-incremented loadsAnton Korobeynikov2009-11-074-4/+97
| | | | llvm-svn: 86385
* Add 8 bit libcalls and make use of them for msp430Anton Korobeynikov2009-11-071-0/+11
| | | | llvm-svn: 86384
* Add few pseudo-source-valuesAnton Korobeynikov2009-11-071-4/+20
| | | | llvm-svn: 86383
* Initial support for addrmode handling. Tests by Brian Lucas!Anton Korobeynikov2009-11-073-68/+239
| | | | llvm-svn: 86382
* Some preliminary variable asmprintingAnton Korobeynikov2009-11-073-7/+92
| | | | llvm-svn: 86381
* Use '.L' for global private prefix (as mspgcc)Anton Korobeynikov2009-11-071-0/+1
| | | | llvm-svn: 86380
* Drop old asmprinter stuffAnton Korobeynikov2009-11-073-17/+20
| | | | llvm-svn: 86379
* Factor out the printing of the leading tab into printInlineAsm.Dan Gohman2009-11-061-1/+0
| | | | llvm-svn: 86199
* Remove uninteresting and confusing debug output.Dan Gohman2009-11-051-2/+0
| | | | llvm-svn: 86149
* Print out an informative comment for KILL instructions.Jakob Stoklund Olesen2009-11-041-0/+1
| | | | | | | | The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. llvm-svn: 86041
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-291-1/+1
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
* Update CMake files.Ted Kremenek2009-10-261-1/+1
| | | | llvm-svn: 85161
* 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
* Shift art to the right to keep GCC from complaining about multi-line comments.Benjamin Kramer2009-10-221-14/+14
| | | | llvm-svn: 84849
* Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be ↵Anton Korobeynikov2009-10-221-19/+149
| | | | | | | | selected. Yay for ASCII graphics! llvm-svn: 84808
* Add DAG printing for RMW stuff debuggingAnton Korobeynikov2009-10-211-0/+16
| | | | llvm-svn: 84776
* RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and ↵Anton Korobeynikov2009-10-212-54/+73
| | | | | | disable some tests until it will be clever enough to handle them. llvm-svn: 84775
* Implement branch foldingAnton Korobeynikov2009-10-213-6/+178
| | | | llvm-svn: 84774
* Cosmetic changes, no functionality changesAnton Korobeynikov2009-10-215-41/+40
| | | | llvm-svn: 84773
* Add noteAnton Korobeynikov2009-10-211-0/+2
| | | | llvm-svn: 84713
* Be crazy and assert in case of unsupported modifier passed.Anton Korobeynikov2009-10-211-0/+1
| | | | llvm-svn: 84712
* Handle external symbolsAnton Korobeynikov2009-10-212-2/+14
| | | | llvm-svn: 84711
* Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross ↵Anton Korobeynikov2009-10-214-9/+23
| | | | | | weirdness of asmprinting. llvm-svn: 84710
* Add basic block operands & jump kindsAnton Korobeynikov2009-10-215-16/+43
| | | | llvm-svn: 84709
* Ignore all implicit reg operandsAnton Korobeynikov2009-10-211-0/+2
| | | | llvm-svn: 84708
* Add a workaround for different memops prefixesAnton Korobeynikov2009-10-211-3/+6
| | | | llvm-svn: 84707
* Checkpoint MCInst printer. We (almostly) able to print global / JT / ↵Anton Korobeynikov2009-10-215-11/+106
| | | | | | constpool entries llvm-svn: 84706
* Add simple operand printing stuffAnton Korobeynikov2009-10-212-4/+19
| | | | llvm-svn: 84704
* Add experimental MSP430 MCInstLowering stuffAnton Korobeynikov2009-10-214-1/+155
| | | | llvm-svn: 84703
* Wire up MSP430 printMCInst() methodAnton Korobeynikov2009-10-211-0/+4
| | | | llvm-svn: 84702
* Add MSP430 InstPrinter stubAnton Korobeynikov2009-10-213-0/+84
| | | | llvm-svn: 84701
* Use proper target dataAnton Korobeynikov2009-10-211-1/+1
| | | | llvm-svn: 84700
* Revert 84315 for now. Re-thinking the patch.Evan Cheng2009-10-171-1/+1
| | | | llvm-svn: 84321
* Rename getFixedStack to getStackObject. The stack objects represented are notEvan Cheng2009-10-171-1/+1
| | | | | | necessarily fixed. Only those will negative frame indices are "fixed." llvm-svn: 84315
* Add missed mem-mem move patternsAnton Korobeynikov2009-10-111-0/+7
| | | | llvm-svn: 83812
* Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinementsAnton Korobeynikov2009-10-111-0/+127
| | | | llvm-svn: 83811
* Implement 'm' memory operand properlyAnton Korobeynikov2009-10-111-0/+20
| | | | llvm-svn: 83785
* Implement proper asmprinting for the globals. This eliminates bogus "call" ↵Anton Korobeynikov2009-10-112-12/+12
| | | | | | modifier and also adds support for offsets wrt globals. llvm-svn: 83784
* Implement asm printing for inline asm memory operandsAnton Korobeynikov2009-10-111-0/+13
| | | | llvm-svn: 83783
* It seems that OR operation does not affect status reg at all.Anton Korobeynikov2009-10-101-12/+8
| | | | | | Remove impdef of SRW. This fixes PR4779 llvm-svn: 83739
* Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach2009-10-072-6/+9
| | | | | | | | | | | | | | | | | | | | a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-061-7/+1
| | | | | | | | | | verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
* Update processDebugLoc() so that it can be used to process debug info before ↵Devang Patel2009-10-061-1/+3
| | | | | | and after printing an instruction. llvm-svn: 83363
* Use MachineInstr as an processDebugLoc() argument.Devang Patel2009-09-301-1/+1
| | | | | | This will allow processDebugLoc() to handle scopes for DWARF debug info. llvm-svn: 83183
* Rename getTargetNode to getMachineNode, for consistency with theDan Gohman2009-09-251-2/+2
| | | | | | | | 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
* Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic ↵Evan Cheng2009-09-191-0/+4
| | | | | | blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. llvm-svn: 82311
OpenPOWER on IntegriCloud