summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unused AsmPrinter OptLevel argument, and propogate.Daniel Dunbar2009-07-011-2/+2
| | | | | | | - This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
* Add an "alignment" field to the MachineFunction object. It makes more sense toBill Wendling2009-06-301-4/+6
| | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
* Temporarily restore the scavenger implicit_def checking code. MachineOperand ↵Evan Cheng2009-06-301-5/+23
| | | | | | isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.). llvm-svn: 74519
* Add a bit IsUndef to MachineOperand. This indicates the def / use register ↵Evan Cheng2009-06-306-59/+58
| | | | | | | | | | operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. llvm-svn: 74518
* Struct types are described using field types only.Devang Patel2009-06-291-3/+0
| | | | llvm-svn: 74477
* s/MainCU/ModuleCU/gDevang Patel2009-06-292-30/+29
| | | | llvm-svn: 74452
* Multiple DW_TAG_compile_unit is not used, afaict, on any target.Devang Patel2009-06-291-103/+41
| | | | | | Update dwarf writer to only emit one DW_TAG_compile_unit per .o file. llvm-svn: 74449
* Eliminate a layer of indirection in LoopInfo and MachineLoopInfo.Dan Gohman2009-06-271-1/+1
| | | | llvm-svn: 74394
* When doing remat, don't consider uses of non-allocatable physregs. Patch Chris Lattner2009-06-271-0/+4
| | | | | | by Evan. llvm-svn: 74370
* fix a typo that GCC should have caught that causes crashes with -view-*-dagsChris Lattner2009-06-271-1/+1
| | | | llvm-svn: 74364
* fix a really subtle bug in the cross section of aliases and TLS:Chris Lattner2009-06-261-9/+3
| | | | | | | | | | | the SelectionDAG::getGlobalAddress function properly looks through aliases to determine thread-localness, but then passes the GV* down to GlobalAddressSDNode::GlobalAddressSDNode which does not. Instead of passing down isTarget, just pass down the predetermined node opcode. This fixes some assertions with out of tree changes I'm working on. llvm-svn: 74325
* Get rid of these cache variables, which are a holdover from the days whenOwen Anderson2009-06-261-41/+28
| | | | | | we had multiple type planes and these lookups were expensive. llvm-svn: 74319
* implement DOTGraphTraits<SelectionDAG*>::getNodeLabel in terms ofChris Lattner2009-06-261-138/+5
| | | | | | SDNode::print_details to eliminate a ton of near-duplicate code. llvm-svn: 74311
* Fix linking of llvm-ld and lli with CMake, from Xerxes RånbyDouglas Gregor2009-06-261-0/+2
| | | | llvm-svn: 74285
* dot graph viewing is apparently not using SDNode::print_details, this is bad,Chris Lattner2009-06-261-0/+7
| | | | | | but in the meantime lets print targetflags on node labels. llvm-svn: 74274
* propagate target operand flags from dag nodes into MachineOperands.Chris Lattner2009-06-261-4/+8
| | | | llvm-svn: 74273
* fit in 80 colsChris Lattner2009-06-261-5/+4
| | | | llvm-svn: 74270
* Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprogramsDevang Patel2009-06-262-94/+28
| | | | | | and llvm.dbg.global_variables. llvm-svn: 74251
* Simplify.Devang Patel2009-06-254-22/+12
| | | | llvm-svn: 74215
* add targetflags to jump tables and constant pool entries.Chris Lattner2009-06-251-6/+24
| | | | llvm-svn: 74204
* allow setting target operand flags on TargetGlobalAddress nodes.Chris Lattner2009-06-251-6/+19
| | | | llvm-svn: 74203
* start bringing targetoperand flags into isel, first up, ExternalSymbol.Chris Lattner2009-06-251-7/+13
| | | | llvm-svn: 74199
* Provide guards for this shared structure. I'm not sure this actually needsOwen Anderson2009-06-251-3/+8
| | | | | | | | to be shared, but how/where to privatize it is not immediately clear to me. If any SelectionDAG experts see a better solution, please share! llvm-svn: 74180
* Privatize some more debug-related static data.Owen Anderson2009-06-251-2/+2
| | | | llvm-svn: 74179
* Support Constant Pool SectionsBruno Cardoso Lopes2009-06-255-11/+111
| | | | | | Add section symbols to the symbol table llvm-svn: 74170
* My guess is that RegInfo should only call the Allocator.Deallocator if it's notBill Wendling2009-06-251-7/+10
| | | | | | null. llvm-svn: 74147
* Now with EVEN FEWER statics!Owen Anderson2009-06-251-28/+0
| | | | llvm-svn: 74143
* Fewer static variables, part 3 of many.Owen Anderson2009-06-241-2/+2
| | | | llvm-svn: 74140
* Down with _even more_ statics!Owen Anderson2009-06-242-2/+5
| | | | llvm-svn: 74137
* Down with statics!Owen Anderson2009-06-241-2/+4
| | | | llvm-svn: 74134
* Move local statics to per-instance variables.Owen Anderson2009-06-241-9/+4
| | | | llvm-svn: 74132
* Completed basic intra block split implementation.Lang Hames2009-06-241-43/+114
| | | | llvm-svn: 74114
* This increases the maximum for MVT::LAST_VALUETYPEDavid Greene2009-06-243-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change doubles the allowable value for MVT::LAST_VALUETYPE. It does this by doing several things. 1. Introduces MVT::MAX_ALLOWED_LAST_VALUETYPE which in this change has a value of 64. This value contains the current maximum for the MVT::LAST_VALUETYPE. 2. Instead of checking "MVT::LAST_VALUETYPE <= 32", all of those uses now become "MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_LAST_VALUETYPE" 3. Changes the dimension of the ValueTypeActions from 2 elements to four elements and adds comments ahead of the declaration indicating the it is "(MVT::MAX_ALLOWED_LAST_VALUETYPE/32) * 2". This at least lets us find what is affected if and when MVT::MAX_ALLOWED_LAST_VALUETYPE gets changed. 4. Adds initializers for the new elements of ValueTypeActions. This does NOT add any types in MVT. That would be done separately. This doubles the size of ValueTypeActions from 64 bits to 128 bits and gives us the freedom to add more types for AVX. llvm-svn: 74110
* sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base ↵Chris Lattner2009-06-241-10/+10
| | | | | | class. llvm-svn: 74101
* sink dwarf finalization out of each target into AsmPrinter::doFinalizationChris Lattner2009-06-241-0/+4
| | | | llvm-svn: 74097
* eliminate the ExtWeakSymbols set from AsmPrinter. This eliminatesChris Lattner2009-06-241-8/+21
| | | | | | | a bunch of code from all the targets, and eliminates nondeterministic ordering of directives being emitted in the output. llvm-svn: 74096
* Rearrange some stuff in MachineOperand and add a new TargetFlags field.Chris Lattner2009-06-241-25/+29
| | | | llvm-svn: 74087
* Get rid of the global CFGOnly flag by threading a ShortNames parameters ↵Owen Anderson2009-06-243-20/+23
| | | | | | | | through the GraphViz rendering code. Update other uses in the codebase for this change. llvm-svn: 74084
* Rewrite 73900 per Duncan's suggestion.Dale Johannesen2009-06-241-19/+9
| | | | llvm-svn: 74082
* remove dead makefile flags.Chris Lattner2009-06-242-4/+0
| | | | llvm-svn: 74065
* Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), ↵Lang Hames2009-06-242-6/+2
| | | | | | removed old TODO comments. llvm-svn: 74054
* Fix support for inline asm input / output operand tying when operand spans ↵Evan Cheng2009-06-241-11/+23
| | | | | | across multiple registers (e.g. two i64 operands in 32-bit mode). llvm-svn: 74053
* Use a default alignment for data and bss sections.Bruno Cardoso Lopes2009-06-232-19/+25
| | | | | | | | Only pad when the section size > 0 and move the code that deals with globals initializers to a place we know for sure the global is initialized. llvm-svn: 73944
* Fix memcpy expansion so it won't generate invalidDale Johannesen2009-06-221-6/+25
| | | | | | | types for the target (I think). This was breaking the PPC32 calling sequence. llvm-svn: 73900
* Fix another register coalescer crash: forgot to check if the instruction ↵Evan Cheng2009-06-221-3/+7
| | | | | | being updated has already been coalesced. llvm-svn: 73898
* Use different functions to emit the string and symbol tables.Bruno Cardoso Lopes2009-06-222-7/+17
| | | | llvm-svn: 73895
* Add more methods to gather target specific elf stuffBruno Cardoso Lopes2009-06-224-154/+312
| | | | | | | | Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64. Use a map to track global values to their symbol table indexes Code cleanup and small fixes llvm-svn: 73894
* Fix PR4419: handle defs of partial uses.Evan Cheng2009-06-201-7/+6
| | | | llvm-svn: 73816
* mv CodeGen/DebugLoc.h Support/DebugLoc.hDevang Patel2009-06-191-1/+0
| | | | llvm-svn: 73786
* Move up dwarf writer initialization in common AsmPrinter class.Devang Patel2009-06-191-3/+11
| | | | llvm-svn: 73784
OpenPOWER on IntegriCloud