aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprogramsDevang Patel2009-06-262-94/+28
| | | | | | | and llvm.dbg.global_variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74251 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify.Devang Patel2009-06-254-22/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74215 91177308-0d34-0410-b5e6-96231b3b80d8
* add targetflags to jump tables and constant pool entries.Chris Lattner2009-06-251-6/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74204 91177308-0d34-0410-b5e6-96231b3b80d8
* allow setting target operand flags on TargetGlobalAddress nodes.Chris Lattner2009-06-251-6/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74203 91177308-0d34-0410-b5e6-96231b3b80d8
* start bringing targetoperand flags into isel, first up, ExternalSymbol.Chris Lattner2009-06-251-7/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74199 91177308-0d34-0410-b5e6-96231b3b80d8
* 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74180 91177308-0d34-0410-b5e6-96231b3b80d8
* Privatize some more debug-related static data.Owen Anderson2009-06-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74179 91177308-0d34-0410-b5e6-96231b3b80d8
* Support Constant Pool SectionsBruno Cardoso Lopes2009-06-255-11/+111
| | | | | | | Add section symbols to the symbol table git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74170 91177308-0d34-0410-b5e6-96231b3b80d8
* My guess is that RegInfo should only call the Allocator.Deallocator if it's notBill Wendling2009-06-251-7/+10
| | | | | | | null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74147 91177308-0d34-0410-b5e6-96231b3b80d8
* Now with EVEN FEWER statics!Owen Anderson2009-06-251-28/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74143 91177308-0d34-0410-b5e6-96231b3b80d8
* Fewer static variables, part 3 of many.Owen Anderson2009-06-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74140 91177308-0d34-0410-b5e6-96231b3b80d8
* Down with _even more_ statics!Owen Anderson2009-06-242-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74137 91177308-0d34-0410-b5e6-96231b3b80d8
* Down with statics!Owen Anderson2009-06-241-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74134 91177308-0d34-0410-b5e6-96231b3b80d8
* Move local statics to per-instance variables.Owen Anderson2009-06-241-9/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74132 91177308-0d34-0410-b5e6-96231b3b80d8
* Completed basic intra block split implementation.Lang Hames2009-06-241-43/+114
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74114 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74110 91177308-0d34-0410-b5e6-96231b3b80d8
* sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base ↵Chris Lattner2009-06-241-10/+10
| | | | | | class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74101 91177308-0d34-0410-b5e6-96231b3b80d8
* sink dwarf finalization out of each target into AsmPrinter::doFinalizationChris Lattner2009-06-241-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74097 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74096 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange some stuff in MachineOperand and add a new TargetFlags field.Chris Lattner2009-06-241-25/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74087 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74084 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite 73900 per Duncan's suggestion.Dale Johannesen2009-06-241-19/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74082 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead makefile flags.Chris Lattner2009-06-242-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), ↵Lang Hames2009-06-242-6/+2
| | | | | | removed old TODO comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74054 91177308-0d34-0410-b5e6-96231b3b80d8
* 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74053 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73944 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73900 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix another register coalescer crash: forgot to check if the instruction ↵Evan Cheng2009-06-221-3/+7
| | | | | | being updated has already been coalesced. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73898 91177308-0d34-0410-b5e6-96231b3b80d8
* Use different functions to emit the string and symbol tables.Bruno Cardoso Lopes2009-06-222-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73895 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73894 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR4419: handle defs of partial uses.Evan Cheng2009-06-201-7/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73816 91177308-0d34-0410-b5e6-96231b3b80d8
* mv CodeGen/DebugLoc.h Support/DebugLoc.hDevang Patel2009-06-191-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73786 91177308-0d34-0410-b5e6-96231b3b80d8
* Move up dwarf writer initialization in common AsmPrinter class.Devang Patel2009-06-191-3/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73784 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanup; fixes review comments for a previous patch. Sorry for Eli Friedman2009-06-191-4/+3
| | | | | | | | taking so long to get to this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73757 91177308-0d34-0410-b5e6-96231b3b80d8
* More VNInfo tweaking, plus a little progress on intra-block splitting.Lang Hames2009-06-193-25/+84
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73750 91177308-0d34-0410-b5e6-96231b3b80d8
* move mangler quote handling from asm printers to TargetAsmInfo.Chris Lattner2009-06-181-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73738 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify macro debug info directive handling.Chris Lattner2009-06-181-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73736 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved PHI def marking, replaced some gotos with breaks.Lang Hames2009-06-181-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73727 91177308-0d34-0410-b5e6-96231b3b80d8
* On Darwin, ams printer should output a second label before a jump table so ↵Evan Cheng2009-06-181-3/+7
| | | | | | the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73720 91177308-0d34-0410-b5e6-96231b3b80d8
* - Update register allocation hint after coalescing. This is done by the ↵Evan Cheng2009-06-182-2/+11
| | | | | | | | | | target since the hint is target dependent. This is important for ARM register pair hints. - Register allocator should resolve the second part of the hint (register number) before passing it to the target since it knows virtual register to physical register mapping. - More fixes to get ARM load / store double word working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73671 91177308-0d34-0410-b5e6-96231b3b80d8
* VNInfo cleanup.Lang Hames2009-06-179-125/+151
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73634 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed names of libcalls checked in r73480.Sanjiv Gupta2009-06-161-8/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73483 91177308-0d34-0410-b5e6-96231b3b80d8
* Added required libcalls for PIC16 (mostly floating points to integer casting ↵Sanjiv Gupta2009-06-161-0/+16
| | | | | | operations). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73480 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename RemoveCopiesFromValNo to TurnCopiesFromValNoToImpDefs.Evan Cheng2009-06-162-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73479 91177308-0d34-0410-b5e6-96231b3b80d8
* If a val# is defined by an implicit_def and it is being removed, all of the ↵Evan Cheng2009-06-161-20/+27
| | | | | | | | | copies off the val# were removed. This causes problem later since the scavenger will see uses of registers without defs. The proper solution is to change the copies into implicit_def's instead. TurnCopyIntoImpDef turns a copy into implicit_def and remove the val# defined by it. This causes an scavenger assertion later if the def reaches other blocks. Disable the transformation if the value live interval extends beyond its def block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73478 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some generic expansion logic for SMULO and UMULO. Fixes UMULO Eli Friedman2009-06-161-0/+47
| | | | | | | | | | support for x86, and UMULO/SMULO for many architectures, including PPC (PR4201), ARM, and Cell. The resulting expansion isn't perfect, but it's not bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73477 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos.Bill Wendling2009-06-161-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73464 91177308-0d34-0410-b5e6-96231b3b80d8
* Use MainCU if it is available.Devang Patel2009-06-161-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73457 91177308-0d34-0410-b5e6-96231b3b80d8
* Owen Anderson 2009-06-15: Use a SmallPtrSet here, for speed and to match ↵Owen Anderson2009-06-151-5/+14
| | | | | | | | | df_iterator. Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73438 91177308-0d34-0410-b5e6-96231b3b80d8
* Change this from an assert to a cerr+exit, since it's diagnosing anDan Gohman2009-06-151-2/+6
| | | | | | | unsupported inline asm construct, rather than verifying a code invariant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73435 91177308-0d34-0410-b5e6-96231b3b80d8