aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineFunction.h
AgeCommit message (Collapse)Author
2008-07-07Pool-allocation for MachineInstrs, MachineBasicBlocks, andDan Gohman
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-01Make ilist_traits<MachineBasicBlock>'s Parent member private.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Fix more -Wshorten-64-to-32 warnings.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-31Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner
that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29Don't attribute in file headers anymore. See llvmdev for theChris Lattner
discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27Add explicit keywords and remove spurious trailing semicolons.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25Change UsedPhysRegs from array bool to BitVector to save some space. Setting ↵Evan Cheng
/ getting its states now go through MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15isPhysRegUsed should be const.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34295 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26Change the MachineDebugInfo to MachineModuleInfo to better reflect usageJim Laskey
for debugging and exception handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33550 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-17Added an automatic cast to "std::ostream*" etc. from OStream. We then canBill Wendling
rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-03Provide a function that ensures MBB numbering is dense and inorder. ThisChris Lattner
can be used by MachineFunctionPasses who need this property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30706 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14Remove dead methods, add getNumBlockIDs() methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30322 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17Constify some methods. Patch provided by Anton Vayvod, thanks!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29756 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22JumpTable support! What this represents is working asm and jit support forNate Begeman
x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-11Add helper methods.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27576 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-04Move MachineDebugInfo to module level location.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25091 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-16Added source file/line correspondence for dwarf (PowerPC only at this point.)Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24748 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-31remove an inappropriate commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23182 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13allow a virtual register to be associated with live-in values.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21927 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Convert tabs to spacesMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21438 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-09add routines to track the livein/out set for a functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21179 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-17daintyDuraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20653 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-30Improve spellingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19931 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29Adjust to ilist changes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19923 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-23Add an accessor.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19794 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-23Expose more information from register allocation to passes that run afterChris Lattner
it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19788 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner
and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30Add const version of getLastBlock() member function.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27Add getLastBlock member. This is useful when growing a densemap keyedAlkis Evlogimenos
on MachineBasicBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18All targets are now allowed to have their own MachineFunctionInfo objects,Chris Lattner
also, make getInfo do some checking and cast to the appropriate concrete type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17Ultra-doxygenify some function header comments.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15884 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16Fit into 80 lines, add a gross hack for MachineFunctionInfoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08Add viewCFG() and viewCFGOnly() APIs.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14679 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01Change the implementation of the autonumbering for MBB's a bit to provideChris Lattner
the reverse mapping as well as the mapping from MBB->unsigned git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14519 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04Clarify documentation and use correct doxygen comment form /// vs. // .Misha Brukman
Thanks to Vladimir Prus for corrections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14009 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24Moved MachineBasicBlock deconstructor to cpp file and removed it from ↵Tanya Lattner
LeakDetector to fix memory leak bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24Added MachineFunction parent* to MachineBasicBlock. Customized ilist templateTanya Lattner
to set the parent when a MachineBasicBlock is added to a MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12Add a NextMBBNumber field w/ incrementing accessor method, forBrian Gaeke
function-level unique numbering of MBBs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13513 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos
ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Rearrange code, indent for the namespace, add the ↵Chris Lattner
createMachineFunctionPrinterPass to passes.h, and add the machien destruction pass to Passes.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Remove sparc specific passes from public headersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM copyright header (for lack of a better term).John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14Move annotation to support libraryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13* Add a constant pool to hold per-function constants which must be spilled ↵Chris Lattner
to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28Rename FunctionFrameInfo to MachineFrameInfoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5201 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28* Pull a bunch of frame and constant pool state out into a newChris Lattner
MachineFunctionInfo class * Add a new FunctionFrameInfo object git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5163 91177308-0d34-0410-b5e6-96231b3b80d8