aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add a missing Module::setTargetTriple method.Chris Lattner2005-10-252-12/+10
| | | | | | | | | Remove Function::aiterator and Module::giterator typedefs (and const versions) as they should have been removed when abegin/gbegin were removed. Thanks to alkis for bringing this to my attn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23978 91177308-0d34-0410-b5e6-96231b3b80d8
* Preparation of supporting scheduling info. Need to find info based on selectedJim Laskey2005-10-251-9/+27
| | | | | | | CPU. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23974 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the END_WITH_NULL marker. Vladimir suggests that this works better withChris Lattner2005-10-241-7/+2
| | | | | | | GCC 4.1. I tried it with 4.0 and 3.3 and it seems fine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23957 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a prototypeChris Lattner2005-10-241-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23951 91177308-0d34-0410-b5e6-96231b3b80d8
* This pass is very old and quite useless, remove it.Chris Lattner2005-10-242-64/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23946 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't link these three passes in anymoreChris Lattner2005-10-241-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23941 91177308-0d34-0410-b5e6-96231b3b80d8
* add a protoChris Lattner2005-10-241-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23923 91177308-0d34-0410-b5e6-96231b3b80d8
* new headerChris Lattner2005-10-241-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23921 91177308-0d34-0410-b5e6-96231b3b80d8