summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
AgeCommit message (Collapse)Author
2009-02-03Add getDebugLocTuple to retrieve the DebugLocTuple for a given DebugLoc object.Bill Wendling
llvm-svn: 63676
2009-02-03Create DebugLoc information in FastISel. Several temporary methods wereBill Wendling
created. Specifically, those BuildMIs which use "DebugLoc::getUnknownLoc()". I'll remove them soon. llvm-svn: 63584
2009-01-27Refine DebugLoc per review comments.Evan Cheng
llvm-svn: 63132
2009-01-26No need to keep size of DebugLocations vector separately.Evan Cheng
llvm-svn: 63070
2009-01-26Actually source file has already been uniquified into an id during isel. ↵Evan Cheng
Eliminate the StringMap. llvm-svn: 63009
2009-01-26Add data structure to define and track debug location during codegen.Evan Cheng
llvm-svn: 63008
2009-01-12Rename getABITypeSize to getTypePaddedSize, asDuncan Sands
suggested by Chris. llvm-svn: 62099
2008-11-03Make MachineFrameInfo::print not crash when no TargetFrameInfo is available.Matthijs Kooijman
llvm-svn: 58606
2008-10-15Adjust whitespace in debug messages to be more consistentDan Gohman
with other debug messages. llvm-svn: 57543
2008-10-13Make MachineFunction not crash when TargetMachine::getRegisterInfo() returnsMatthijs Kooijman
NULL, but just hide some debug output then. llvm-svn: 57437
2008-09-16Fix these comments to reflect current reality. Surprisingly,Dan Gohman
MachineConstantPool::getConstantPoolIndex actually expects a log2-encoded alignment. llvm-svn: 56248
2008-09-04Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman
llvm-svn: 55779
2008-08-23get MachineConstantPool off std::ostream, onto raw_ostream. It would beChris Lattner
really nice if someone converted MachineFunction::print to raw_ostream. llvm-svn: 55268
2008-08-23Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner
use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
2008-07-28Fold the useful features of alist and alist_node into ilist, andDan Gohman
a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
2008-07-21Fix uses of underscore-capital names.Dan Gohman
llvm-svn: 53870
2008-07-11Trim unnecessary #includes.Dan Gohman
llvm-svn: 53471
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. llvm-svn: 53212
2008-04-06Silence warning when no assertions.Chris Lattner
llvm-svn: 49284
2008-02-27Spiller now remove unused spill slots.Evan Cheng
llvm-svn: 47657
2008-02-26Rename PrintableName to Name.Bill Wendling
llvm-svn: 47629
2008-02-26Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling
would have been a Godsend here! llvm-svn: 47625
2008-02-10Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman
llvm-svn: 46930
2008-01-25move MachineFrameInfo::CreateFixedObject out of line, give MachineFrameInfoChris Lattner
a reference to TargetFrameInfo. Rearrange order of fields in StackObject to save a word. llvm-svn: 46348
2007-12-31properly encapsulate the parent field of MBB and MI with get/set accessors.Chris Lattner
llvm-svn: 45469
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. llvm-svn: 45467
2007-12-29Remove attribution from file headers, per discussion on llvmdev.Chris Lattner
llvm-svn: 45418
2007-11-05Eliminate the remaining uses of getTypeSize. ThisDuncan Sands
should only effect x86 when using long double. Now 12/16 bytes are output for long double globals (the exact amount depends on the alignment). This brings globals in line with the rest of LLVM: the space reserved for an object is now always the ABI size. One tricky point is that only 10 bytes should be output for long double if it is a field in a packed struct, which is the reason for the additional argument to EmitGlobalConstant. llvm-svn: 43688
2007-10-03Use empty() member functions when that's what's being tested for insteadDan Gohman
of comparing begin() and end(). llvm-svn: 42585
2007-05-03Drop 'const'Devang Patel
llvm-svn: 36662
2007-05-02Use 'static const char' instead of 'static const int'.Devang Patel
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
2007-05-01Do not use typeinfo to identify pass in pass manager.Devang Patel
llvm-svn: 36632
2007-04-25Change UsedPhysRegs from array bool to BitVector to save some space. Setting ↵Evan Cheng
/ getting its states now go through MachineFunction. llvm-svn: 36451
2007-04-25support > 4G stack objectsChris Lattner
llvm-svn: 36422
2007-02-14Generalize TargetData strings, to support more interesting forms of data.Chris Lattner
Patch by Scott Michel. llvm-svn: 34266
2007-01-20Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner
these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
2006-12-22Debug dump error.Evan Cheng
llvm-svn: 32743
2006-12-141. Tidy up jump table info.Jim Laskey
2. Allow the jit to handle PIC relocable jump tables. llvm-svn: 32581
2006-12-07Removed more <iostream> includesBill Wendling
llvm-svn: 32321
2006-10-28const'ify jump table stuffChris Lattner
llvm-svn: 31269
2006-10-28add an assertChris Lattner
llvm-svn: 31267
2006-10-03BugfixesChris Lattner
llvm-svn: 30709
2006-10-03Provide a function that ensures MBB numbering is dense and inorder. ThisChris Lattner
can be used by MachineFunctionPasses who need this property. llvm-svn: 30706
2006-09-14Use getOffset() instead.Evan Cheng
llvm-svn: 30327
2006-09-14A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* ↵Evan Cheng
values. llvm-svn: 30316
2006-09-12Added support for machine specific constantpool values. These are useful forEvan Cheng
representing expressions that can only be resolved at link time, etc. llvm-svn: 30278
2006-08-27s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner
llvm-svn: 29911
2006-07-14Add an out-of-line virtual function to home class.Chris Lattner
llvm-svn: 29154
2006-06-28Shave another 27K off libllvmgcc.dylib with visibility hiddenChris Lattner
llvm-svn: 28973
2006-06-27For PR801:Reid Spencer
Refactor the Graph writing code to use a common implementation which is now in lib/Support/GraphWriter.cpp. This completes the PR. Patch by Anton Korobeynikov. Thanks, Anton! llvm-svn: 28925