summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* 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
* Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵Evan Cheng2009-09-181-1/+2
| | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-6/+6
| | | | llvm-svn: 80773
* eliminate uses of cerr()Chris Lattner2009-08-231-1/+2
| | | | llvm-svn: 79834
* Expand few nodes until someone will be crazy enough to implement them ↵Anton Korobeynikov2009-08-211-2/+6
| | | | | | natively :) llvm-svn: 79659
* Handle 'r' inline asm constraintAnton Korobeynikov2009-08-211-0/+40
| | | | llvm-svn: 79648
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-111-84/+84
| | | | | | | | 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-83/+83
| | | | | | own struct type. llvm-svn: 78610
* Major calling convention code refactoring.Dan Gohman2009-08-051-78/+82
| | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-2/+4
| | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-4/+4
| | | | llvm-svn: 76702
* Missed a piece of the commit to remove the shift flavor.Eli Friedman2009-07-211-1/+0
| | | | llvm-svn: 76635
* Expand fremAnton Korobeynikov2009-07-181-0/+2
| | | | llvm-svn: 76315
* Turn abort() into unreachableAnton Korobeynikov2009-07-181-4/+6
| | | | llvm-svn: 76314
* Turn few asserts into errors / unreachable'sAnton Korobeynikov2009-07-181-5/+7
| | | | llvm-svn: 76313
* Provide expansion for ct* intrinsicsAnton Korobeynikov2009-07-181-0/+7
| | | | llvm-svn: 76311
* Expand sext_inreg for i1Anton Korobeynikov2009-07-181-0/+2
| | | | llvm-svn: 76310
* UnbreakAnton Korobeynikov2009-07-161-4/+5
| | | | llvm-svn: 76064
* Expand 32-bit bitconverts via memoryAnton Korobeynikov2009-07-161-2/+2
| | | | llvm-svn: 76050
* i32 values are passed extended also on stack. Handle this in generic wayAnton Korobeynikov2009-07-161-23/+24
| | | | llvm-svn: 76047
* We definitely have 1-0 boolsAnton Korobeynikov2009-07-161-0/+1
| | | | llvm-svn: 76046
* Out GR128 regclass is not a 'real' i128 one.Anton Korobeynikov2009-07-161-1/+0
| | | | llvm-svn: 76044
* Handle bitconvertsAnton Korobeynikov2009-07-161-0/+4
| | | | llvm-svn: 76042
* Expand fp_to_uint tooAnton Korobeynikov2009-07-161-0/+3
| | | | llvm-svn: 76040
* We don't have FP truncstoresAnton Korobeynikov2009-07-161-0/+3
| | | | llvm-svn: 76039
* Expand uint_to_fpAnton Korobeynikov2009-07-161-0/+2
| | | | llvm-svn: 76038
* Make FP zero to be legal FP immediate via LOAD ZEROAnton Korobeynikov2009-07-161-0/+5
| | | | llvm-svn: 76034
* Proper FP extloadsAnton Korobeynikov2009-07-161-6/+6
| | | | llvm-svn: 76028
* Add proper PWS impdef'sAnton Korobeynikov2009-07-161-0/+1
| | | | llvm-svn: 76027
* Propagate FP select_cc to dag insertersAnton Korobeynikov2009-07-161-2/+8
| | | | llvm-svn: 76026
* We don't have native sine / cosine instructionsAnton Korobeynikov2009-07-161-0/+5
| | | | llvm-svn: 76021
* We don't have any FP extloadsAnton Korobeynikov2009-07-161-0/+7
| | | | llvm-svn: 76018
* Implement all comparisonsAnton Korobeynikov2009-07-161-6/+38
| | | | llvm-svn: 76017
* Add constpool lowering / printingAnton Korobeynikov2009-07-161-1/+23
| | | | llvm-svn: 76016
* Allow FP arguments pass / returnAnton Korobeynikov2009-07-161-20/+29
| | | | llvm-svn: 76015
* Register FP regclassesAnton Korobeynikov2009-07-161-0/+6
| | | | llvm-svn: 76014
* Implement 'large' PIC modelAnton Korobeynikov2009-07-161-3/+31
| | | | llvm-svn: 76006
* Implement shifts properly (hopefilly - finally!)Anton Korobeynikov2009-07-161-1/+1
| | | | llvm-svn: 76005
* Properly handle divides. As a bonus - implement memory versions of them.Anton Korobeynikov2009-07-161-0/+11
| | | | llvm-svn: 76003
* Emit proper lowering of load from arg stack slotAnton Korobeynikov2009-07-161-10/+6
| | | | llvm-svn: 75986
* Implement dynamic allocasAnton Korobeynikov2009-07-161-0/+1
| | | | llvm-svn: 75985
* Add jump tablesAnton Korobeynikov2009-07-161-0/+11
| | | | llvm-svn: 75984
* Exapnd br_jt into indirect branch. Provide pattern for indirect branches.Anton Korobeynikov2009-07-161-0/+1
| | | | llvm-svn: 75983
* Proper lower 'small' resultsAnton Korobeynikov2009-07-161-3/+20
| | | | llvm-svn: 75962
* Lower addresses of globalsAnton Korobeynikov2009-07-161-0/+13
| | | | llvm-svn: 75960
* Provide "wide" muls and divs/remsAnton Korobeynikov2009-07-161-10/+5
| | | | llvm-svn: 75958
* Preliminary mul loweringAnton Korobeynikov2009-07-161-0/+11
| | | | llvm-svn: 75951
* More extloadsAnton Korobeynikov2009-07-161-0/+3
| | | | llvm-svn: 75950
OpenPOWER on IntegriCloud