summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineFunction.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make MachineFrameInfo::print not crash when no TargetFrameInfo is available.Matthijs Kooijman2008-11-031-1/+2
| | | | llvm-svn: 58606
* Adjust whitespace in debug messages to be more consistentDan Gohman2008-10-151-3/+3
| | | | | | with other debug messages. llvm-svn: 57543
* Make MachineFunction not crash when TargetMachine::getRegisterInfo() returnsMatthijs Kooijman2008-10-131-5/+9
| | | | | | NULL, but just hide some debug output then. llvm-svn: 57437
* Fix these comments to reflect current reality. Surprisingly,Dan Gohman2008-09-161-1/+2
| | | | | | | MachineConstantPool::getConstantPoolIndex actually expects a log2-encoded alignment. llvm-svn: 56248
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-2/+2
| | | | llvm-svn: 55779
* get MachineConstantPool off std::ostream, onto raw_ostream. It would beChris Lattner2008-08-231-8/+6
| | | | | | really nice if someone converted MachineFunction::print to raw_ostream. llvm-svn: 55268
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Fold the useful features of alist and alist_node into ilist, andDan Gohman2008-07-281-19/+1
| | | | | | | | | | | | | | | | 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
* Fix uses of underscore-capital names.Dan Gohman2008-07-211-2/+2
| | | | llvm-svn: 53870
* Trim unnecessary #includes.Dan Gohman2008-07-111-1/+0
| | | | llvm-svn: 53471
* Pool-allocation for MachineInstrs, MachineBasicBlocks, andDan Gohman2008-07-071-31/+92
| | | | | | | | | | | 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
* Silence warning when no assertions.Chris Lattner2008-04-061-1/+2
| | | | llvm-svn: 49284
* Spiller now remove unused spill slots.Evan Cheng2008-02-271-0/+4
| | | | llvm-svn: 47657
* Rename PrintableName to Name.Bill Wendling2008-02-261-2/+2
| | | | llvm-svn: 47629
* Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling2008-02-261-2/+2
| | | | | | would have been a Godsend here! llvm-svn: 47625
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-5/+5
| | | | llvm-svn: 46930
* move MachineFrameInfo::CreateFixedObject out of line, give MachineFrameInfoChris Lattner2008-01-251-1/+14
| | | | | | | a reference to TargetFrameInfo. Rearrange order of fields in StackObject to save a word. llvm-svn: 46348
* properly encapsulate the parent field of MBB and MI with get/set accessors.Chris Lattner2007-12-311-6/+8
| | | | llvm-svn: 45469
* Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner2007-12-311-15/+11
| | | | | | | | | | | | | | 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
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Eliminate the remaining uses of getTypeSize. ThisDuncan Sands2007-11-051-2/+2
| | | | | | | | | | | | | | 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
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-2/+2
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Drop 'const'Devang Patel2007-05-031-4/+4
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-4/+4
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-2/+9
| | | | llvm-svn: 36632
* Change UsedPhysRegs from array bool to BitVector to save some space. Setting ↵Evan Cheng2007-04-251-2/+2
| | | | | | / getting its states now go through MachineFunction. llvm-svn: 36451
* support > 4G stack objectsChris Lattner2007-04-251-1/+1
| | | | llvm-svn: 36422
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-1/+2
| | | | | | Patch by Scott Michel. llvm-svn: 34266
* Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner2007-01-201-1/+2
| | | | | | these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
* Debug dump error.Evan Cheng2006-12-221-1/+1
| | | | llvm-svn: 32743
* 1. Tidy up jump table info.Jim Laskey2006-12-141-9/+9
| | | | | | 2. Allow the jit to handle PIC relocable jump tables. llvm-svn: 32581
* Removed more <iostream> includesBill Wendling2006-12-071-8/+6
| | | | llvm-svn: 32321
* const'ify jump table stuffChris Lattner2006-10-281-1/+1
| | | | llvm-svn: 31269
* add an assertChris Lattner2006-10-281-0/+1
| | | | llvm-svn: 31267
* BugfixesChris Lattner2006-10-031-7/+5
| | | | llvm-svn: 30709
* Provide a function that ensures MBB numbering is dense and inorder. ThisChris Lattner2006-10-031-0/+47
| | | | | | can be used by MachineFunctionPasses who need this property. llvm-svn: 30706
* Use getOffset() instead.Evan Cheng2006-09-141-2/+2
| | | | llvm-svn: 30327
* A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* ↵Evan Cheng2006-09-141-2/+8
| | | | | | values. llvm-svn: 30316
* Added support for machine specific constantpool values. These are useful forEvan Cheng2006-09-121-3/+37
| | | | | | representing expressions that can only be resolved at link time, etc. llvm-svn: 30278
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Add an out-of-line virtual function to home class.Chris Lattner2006-07-141-0/+2
| | | | llvm-svn: 29154
* Shave another 27K off libllvmgcc.dylib with visibility hiddenChris Lattner2006-06-281-2/+3
| | | | llvm-svn: 28973
* For PR801:Reid Spencer2006-06-271-92/+4
| | | | | | | | | 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
* For PR798:Reid Spencer2006-06-051-14/+65
| | | | | | Add support for Graphviz. Patch contributed by Anton Korobeynikov. llvm-svn: 28684
* Print the vreg that livein physregs are live inChris Lattner2006-05-161-0/+3
| | | | llvm-svn: 28314
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-0/+1
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-3/+3
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Code cleanup associated with jump tables, thanks to Chris for noticingNate Begeman2006-04-221-0/+8
| | | | | | these. llvm-svn: 27950
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-0/+36
| | | | | | | | 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. llvm-svn: 27947
* Remove unused methodChris Lattner2006-04-031-8/+0
| | | | llvm-svn: 27379
OpenPOWER on IntegriCloud