aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add section switching to to common AsmPrinter code.Chris Lattner2005-11-211-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24444 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new option.Chris Lattner2005-11-211-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24439 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new node typeChris Lattner2005-11-201-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24436 91177308-0d34-0410-b5e6-96231b3b80d8
* Add two new construction methods, patch by Evan ChengChris Lattner2005-11-191-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24417 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach LLVM how to scalarize packed types. Currently, this only works onNate Begeman2005-11-192-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | packed types with an element count of 1, although more generic support is coming. This allows LLVM to turn the following code: void %foo(<1 x float> * %a) { entry: %tmp1 = load <1 x float> * %a; %tmp2 = add <1 x float> %tmp1, %tmp1 store <1 x float> %tmp2, <1 x float> *%a ret void } Into: _foo: lfs f0, 0(r3) fadds f0, f0, f0 stfs f0, 0(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24416 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the dominates method to return true if the two nodes are the same. AddChris Lattner2005-11-181-4/+12
| | | | | | | a new properlyDominates method to do what the old one did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24407 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the type lowering code about turning packed types into vector types.Nate Begeman2005-11-172-5/+10
| | | | | | | | Next step: generating vector dag nodes, and legalizing them into scalar code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24404 91177308-0d34-0410-b5e6-96231b3b80d8
* add a flagChris Lattner2005-11-161-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24375 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach emitAlignment to handle explicit alignment requests by globals.Chris Lattner2005-11-141-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24354 91177308-0d34-0410-b5e6-96231b3b80d8
* add malloc_zone_statistics, remove mstatsChris Lattner2005-11-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24350 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerateChris Lattner2005-11-141-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24348 91177308-0d34-0410-b5e6-96231b3b80d8
* Shrink derived types by 8 bytes each by not having to have 2 vtables pointersChris Lattner2005-11-132-2/+5
| | | | | | | and other MI overhead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24344 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor some code, moving methods and data around. This gets rid of someChris Lattner2005-11-132-51/+34
| | | | | | | virtual methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24342 91177308-0d34-0410-b5e6-96231b3b80d8
* Shrink the Type class from 32 to 28 bytes on Darwin (which has silly 32-bitChris Lattner2005-11-121-1/+1
| | | | | | | bools). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24326 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead methodChris Lattner2005-11-122-13/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24325 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for putting globals in a particular sectionChris Lattner2005-11-121-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24309 91177308-0d34-0410-b5e6-96231b3b80d8
* added a chain outputAndrew Lenharth2005-11-111-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24306 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for a cycle counter intrinsic. As basically all processors haveAndrew Lenharth2005-11-112-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this and have it in about the same form, I think this makes sense. on X86, you do a RDTSC (64bit result, from any ring since the P5MMX) on Alpha, you do a RDCC on PPC, there is a sequence which may or may not work depending on how things are setup by the OS. Or something like that. Maybe someone who knows PPC can add support. Something about the time base register. on Sparc, you read %tick, which in some solaris versions (>=8) is readable by userspace on IA64 read ar.itc So I think the ulong is justified since all of those are 64bit. Support is slighly flaky on old chips (P5 and lower) and sometimes depends on OS (PPC, Sparc). But for modern OS/Hardware (aka this decade), we should be ok. I am still not sure what to do about lowering. I can either see a lower to 0, to gettimeofday (or the target os equivalent), or loudly complaining and refusing to continue. I am commiting an Alpha implementation. I will add the X86 implementation if I have to (I have use of it in the near future), but if someone who knows that backend (and the funky multi-register results) better wants to add it, it would take them a lot less time ;) TODO: better lowering and legalizing, and support more platforms git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24299 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow per-character control over what target assemblers allow in symbolChris Lattner2005-11-101-0/+17
| | | | | | | | | | names. This also changes the default to allow all of "$_." in addition to letters and numbers as symbol names. If you don't want this, use markCharUnacceptable to remove one of these or markCharAcceptable to add to the set. This corresponds with what GAS accepts by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24291 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new option for targets that accept quoted labels.Chris Lattner2005-11-101-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24283 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove M, which is dead. Eliminate a dead typedef. Add comments.Chris Lattner2005-11-101-6/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24282 91177308-0d34-0410-b5e6-96231b3b80d8
* This method is no longer staticChris Lattner2005-11-101-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24280 91177308-0d34-0410-b5e6-96231b3b80d8
* minor interface changes.Chris Lattner2005-11-101-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24276 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for .asciz, and enable it by default. If your target assemblerChris Lattner2005-11-101-1/+7
| | | | | | | | | | | | | | | | | doesn't support .asciz, just set AscizDirective to null in your asmprinter. This compiles C strings to: l1__2E_str_1: ; '.str_1' .asciz "foo" instead of: l1__2E_str_1: ; '.str_1' .ascii "foo\000" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24271 91177308-0d34-0410-b5e6-96231b3b80d8
* needs to go here to apparently.Andrew Lenharth2005-11-101-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24268 91177308-0d34-0410-b5e6-96231b3b80d8
* The pass everyone has been waiting for!Andrew Lenharth2005-11-101-0/+6
| | | | | | | | | Reg2Mem for fun you can opt -reg2mem -mem2reg git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24267 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the allnodes list from a vector of pointers to an ilist of nodes.Chris Lattner2005-11-092-14/+52
| | | | | | | | | This eliminates the vector, allows constant time removal of a node from a graph, and makes iteration over the all nodes list stable when adding nodes to the graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24262 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the ValueList array for each node to be shared instead of individuallyChris Lattner2005-11-082-22/+19
| | | | | | | | allocated. Further, in the common case where a node has a single value, just reference an element from a small array. This is a small compile-time wi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24250 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the operandlist/valuelist from being vectors to being just an array.Chris Lattner2005-11-081-71/+121
| | | | | | | | | This saves 12 bytes from SDNode, but doesn't speed things up substantially (our graphs apparently already fit within the cache on my g5). In any case this reduces memory usage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24248 91177308-0d34-0410-b5e6-96231b3b80d8
* adjust itfChris Lattner2005-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24242 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new option to indicate we want the code generator to emit code quickly,Chris Lattner2005-11-081-3/+4
| | | | | | | | not spending tons of time microoptimizing it. This is useful for an -O0 style of build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24235 91177308-0d34-0410-b5e6-96231b3b80d8
* Change a comment slightlyChris Lattner2005-11-061-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24226 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the necessary support to the ISel to allow targets to codegen the newNate Begeman2005-11-061-1/+18
| | | | | | | | | alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger than the stack. Support for arbitrarily aligned dynamic allocas coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24224 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to initialize the alignment fieldChris Lattner2005-11-061-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24222 91177308-0d34-0410-b5e6-96231b3b80d8
* allow functions and modules to have an explicit alignmentChris Lattner2005-11-061-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24209 91177308-0d34-0410-b5e6-96231b3b80d8
* add an accessorChris Lattner2005-11-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24201 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support alignment of allocation instructions.Nate Begeman2005-11-052-9/+30
| | | | | | | | | | Add support for specifying alignment and size of setjmp jmpbufs. No targets currently do anything with this information, nor is it presrved in the bytecode representation. That's coming up next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24196 91177308-0d34-0410-b5e6-96231b3b80d8
* <cassert> no longer required to make VC++ happy.Jeff Cohen2005-11-041-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24177 91177308-0d34-0410-b5e6-96231b3b80d8
* change NULL to 0, unbreaks the ppc target when building on ia64Duraid Madina2005-11-041-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24176 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove ranges from itinerary data.Jim Laskey2005-11-031-20/+7
| | | | | | | 2. Tidy up the subtarget emittined code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24172 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep VC++ happy.Jeff Cohen2005-11-021-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24148 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow itineraries to be passed through the Target Machine.Jim Laskey2005-11-013-1/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24139 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the LowerConstantExpressionsPass passChris Lattner2005-10-292-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24089 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead headerChris Lattner2005-10-291-63/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24084 91177308-0d34-0410-b5e6-96231b3b80d8
* Structures used to hold scheduling information.Jim Laskey2005-10-271-0/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24049 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some constant folding functions into LLVMAnalysis since they are usedJohn Criswell2005-10-272-8/+37
| | | | | | | by Analysis and Transformation passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment.Jeff Cohen2005-10-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24004 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate use of sed in Visual Studio builds.Jeff Cohen2005-10-264-7/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24003 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a methodChris Lattner2005-10-251-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23989 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some dead argument names which irritates GCC at certain warning levels.Chris Lattner2005-10-254-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23979 91177308-0d34-0410-b5e6-96231b3b80d8