- Oct 25, 2009
-
-
Nick Lewycky authored
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
-
- Oct 07, 2009
-
-
Jim Grosbach authored
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
-
- Oct 06, 2009
-
-
Dan Gohman authored
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
-
Devang Patel authored
Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction. llvm-svn: 83363
-
- Oct 01, 2009
-
-
Devang Patel authored
This will allow processDebugLoc() to handle scopes for DWARF debug info. llvm-svn: 83183
-
- Sep 25, 2009
-
-
Dan Gohman authored
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
-
- Sep 19, 2009
-
-
Evan Cheng authored
Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic 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
-
- Sep 18, 2009
-
-
Evan Cheng authored
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
-
- Sep 15, 2009
-
-
Chris Lattner authored
llvm-svn: 81881
-
Chris Lattner authored
and PIC codegen. Patch by Venkatraman Govindaraju! llvm-svn: 81877
-
- Sep 13, 2009
-
-
Daniel Dunbar authored
llvm-svn: 81718
-
Chris Lattner authored
llvm-svn: 81714
-
Chris Lattner authored
the object, make it static instead of const. llvm-svn: 81711
-
Chris Lattner authored
Nothing is using this info yet. llvm-svn: 81707
-
Chris Lattner authored
now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. llvm-svn: 81684
-
Chris Lattner authored
instead. llvm-svn: 81677
-
- Sep 10, 2009
-
-
Chris Lattner authored
the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. llvm-svn: 81396
-
- Sep 09, 2009
-
-
Chris Lattner authored
asm printer into the "printInstruction" routine. This fixes a problem where the experimental asmprinter would drop debug labels in some cases, and fixes issues on ppc/xcore where pseudo instructions like "mr" didn't get debug locs properly. It is annoying that this moves the call from one place into each target, but a future set of more invasive refactorings will fix that problem. llvm-svn: 81377
-
- Sep 08, 2009
-
-
Richard Pennington authored
llvm-svn: 81215
-
- Sep 02, 2009
-
-
Sandeep Patel authored
llvm-svn: 80773
-
- Aug 31, 2009
-
-
Benjamin Kramer authored
llvm-svn: 80584
-
- Aug 26, 2009
-
-
Venkatraman Govindaraju authored
llvm-svn: 80121
-
Venkatraman Govindaraju authored
llvm-svn: 80070
-
- Aug 23, 2009
-
-
Chris Lattner authored
MachineInstr and MachineOperand. This required eliminating a bunch of stuff that was using DOUT, I hope that bill doesn't mind me stealing his fun. ;-) llvm-svn: 79813
-
Benjamin Kramer authored
llvm-svn: 79780
-
- Aug 22, 2009
-
-
Chris Lattner authored
llvm-svn: 79777
-
Chris Lattner authored
llvm-svn: 79763
-
Devang Patel authored
llvm-svn: 79742
-
- Aug 19, 2009
-
-
Chris Lattner authored
talk to the MCStreamer directly instead. llvm-svn: 79405
-
- Aug 12, 2009
-
-
Chris Lattner authored
pair instead of from a virtual method on TargetMachine. This cuts the final ties of TargetAsmInfo to TargetMachine, meaning that MC can now use TargetAsmInfo. llvm-svn: 78802
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Chris Lattner authored
LLVMTargetMachine ctor. It is currently unused. llvm-svn: 78711
-
Owen Anderson authored
llvm-svn: 78610
-
- Aug 08, 2009
-
-
Chris Lattner authored
A TAI hook is appropriate in this case because this is just an asm syntax issue, not a semantic difference. TLOF should model the semantics of the section. llvm-svn: 78498
-
Chris Lattner authored
error condition get trapped with an assert. llvm-svn: 78449
-
- Aug 07, 2009
-
-
Dan Gohman authored
llvm-svn: 78363
-
- Aug 05, 2009
-
-
Devang Patel authored
llvm-svn: 78207
-
Dan Gohman authored
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
-
- Aug 03, 2009
-
-
Daniel Dunbar authored
- The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
-
Daniel Dunbar authored
Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. llvm-svn: 77918
-