summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-0338-149/+145
| | | | | | | | 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
* Align function bodies correctly.Chris Lattner2006-05-031-4/+2
| | | | llvm-svn: 28073
* Add a new emitAlignment methodChris Lattner2006-05-031-4/+12
| | | | llvm-svn: 28072
* Simplify some code. Don't add memory blocks to the Blocks list twice.Chris Lattner2006-05-031-16/+8
| | | | llvm-svn: 28071
* Add assertions that verify that the actual arguments to a call or invoke matchChris Lattner2006-05-031-4/+22
| | | | | | the prototype of the called function. llvm-svn: 28070
* Change the BasicBlockAddrs map to be a vector, indexed by MBB number.Chris Lattner2006-05-035-21/+24
| | | | llvm-svn: 28069
* Keep the alpha JIT similar to the PPC/X86 jitsChris Lattner2006-05-031-4/+6
| | | | llvm-svn: 28068
* Keep Visual Studio happy.Jeff Cohen2006-05-031-3/+0
| | | | llvm-svn: 28067
* Simplify some codeChris Lattner2006-05-031-21/+7
| | | | llvm-svn: 28066
* Several related changes:Chris Lattner2006-05-026-63/+34
| | | | | | | | | | | | | 1. Change several methods in the MachineCodeEmitter class to be pure virtual. 2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them from the MachineCodeEmitter interface, and reducing the amount of target- specific code. 3. Change the JITEmitter so that it allocates constantpools and jump tables *right* next to the functions that they belong to, instead of in a separate pool of memory. This makes all memory for a function be contiguous, and means the JITEmitter only tracks one block of memory now. llvm-svn: 28065
* Add a method for allocating space from the code buffer.Chris Lattner2006-05-021-0/+22
| | | | llvm-svn: 28064
* Remove some stuff from the READMENate Begeman2006-05-021-21/+0
| | | | llvm-svn: 28063
* Do not make the JIT memory manager manage the memory for globals. InsteadChris Lattner2006-05-024-46/+19
| | | | | | just have the JIT malloc them. llvm-svn: 28062
* Minor cleanups, no functionality change.Chris Lattner2006-05-021-17/+11
| | | | llvm-svn: 28061
* Fix a purely hypothetical problem (for now): emitWord emits in the hostChris Lattner2006-05-027-35/+42
| | | | | | | | byte format. This doesn't work when using the code emitter in a cross target environment. Since the code emitter is only really used by the JIT, this isn't a current problem, but if we ever start emitting .o files, it would be. llvm-svn: 28060
* Refactor the machine code emitter interface to pull the pointers for the currentChris Lattner2006-05-027-231/+124
| | | | | | | | | | code emission location into the base class, instead of being in the derived classes. This change means that low-level methods like emitByte/emitWord now are no longer virtual (yaay for speed), and we now have a framework to support growable code segments. This implements feature request #1 of PR469. llvm-svn: 28059
* Since we don't handle callee-save CRs right yet, don't allocate them. AlsoNate Begeman2006-05-022-9/+26
| | | | | | don't step on R11 in the middle of a function when saving and restoring CRs llvm-svn: 28058
* Print function number instead of nameNate Begeman2006-05-021-3/+2
| | | | llvm-svn: 28057
* Hooray, everyone now uses the same printBasicBlockLabel implementationNate Begeman2006-05-023-36/+3
| | | | llvm-svn: 28056
* Remove dead methodChris Lattner2006-05-023-12/+0
| | | | llvm-svn: 28055
* Remove a now-dead methodChris Lattner2006-05-021-6/+0
| | | | llvm-svn: 28054
* There is no reason to use a virtual method to store this word.Chris Lattner2006-05-021-2/+2
| | | | llvm-svn: 28053
* Remove the debug machine code emitter. The "FilePrinterEmitter" is ↵Chris Lattner2006-05-021-6/+0
| | | | | | moreuseful for debugging. llvm-svn: 28052
* Remove the debug machine code emitter. The "FilePrinterEmitter" is moreChris Lattner2006-05-021-52/+0
| | | | | | useful for debugging. llvm-svn: 28051
* Extend printBasicBlockLabel a bit so that it can be used to print allNate Begeman2006-05-0210-38/+54
| | | | | | | basic block labels, consolidating the code to do so in one place for each target. llvm-svn: 28050
* Update the PPC compilation callback code to not need weird abi-violatingNate Begeman2006-05-021-49/+46
| | | | | | | prologs and epilogs, keep all the asm in one place, and remove use of compiler builtin functions. llvm-svn: 28049
* Add pass ID's for various passes, so they can be AddRequiredID. Patch byChris Lattner2006-05-025-14/+28
| | | | | | Domagoj Babic! llvm-svn: 28048
* De-virtualize SwitchSection.Jeff Cohen2006-05-024-40/+46
| | | | llvm-svn: 28047
* De-virtualize EmitZeroes.Jeff Cohen2006-05-024-12/+11
| | | | llvm-svn: 28046
* Finish support for Microsoft ML/MASM. May still be a few rough edges.Jeff Cohen2006-05-023-4/+53
| | | | llvm-svn: 28045
* Make Intel syntax mode friendlier to Microsoft ML assembler (still needs ↵Jeff Cohen2006-05-024-28/+119
| | | | | | more work). llvm-svn: 28044
* Put instruction names into the first non TargetInstrInfo namespace found.Chris Lattner2006-05-011-10/+18
| | | | llvm-svn: 28043
* New testcase that crashes the new CFE.Chris Lattner2006-05-011-0/+12
| | | | llvm-svn: 28042
* Fix a latent bug that my spiller patch last week exposed: we were leavingChris Lattner2006-05-012-4/+7
| | | | | | | | | instructions in the virtregfolded map that were deleted. Because they were deleted, newly allocated instructions could end up at the same address, magically finding themselves in the map. The solution is to remove entries from the map when we delete the instructions. llvm-svn: 28041
* When promoting a load to a reg-reg copy, where the load was a previousChris Lattner2006-05-011-0/+1
| | | | | | | instruction folded with spill code, make sure the remove the load from the virt reg folded map. llvm-svn: 28040
* Remove previous patch, which wasn't quite right.Chris Lattner2006-05-013-24/+23
| | | | llvm-svn: 28039
* instructions can be in different namespaces. Make sure to use the rightChris Lattner2006-05-011-8/+4
| | | | | | one for each instruction. llvm-svn: 28038
* Put PHI/INLINEASM into the correct namespace.Chris Lattner2006-05-011-0/+2
| | | | llvm-svn: 28037
* FormatingEvan Cheng2006-05-011-1/+1
| | | | llvm-svn: 28036
* Dis-favor stores moreEvan Cheng2006-05-011-2/+2
| | | | llvm-svn: 28035
* Bottom up register-pressure reduction scheduler now pushes store operationsEvan Cheng2006-05-011-17/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | up the schedule. This helps code that looks like this: loads ... computations (first set) ... stores (first set) ... loads computations (seccond set) ... stores (seccond set) ... Without this change, the stores and computations are more likely to interleave: loads ... loads ... computations (first set) ... computations (second set) ... computations (first set) ... stores (first set) ... computations (second set) ... stores (stores set) ... This can increase the number of spills if we are unlucky. llvm-svn: 28033
* Mark instructions whose pattern is (store ...) isStore.Evan Cheng2006-05-011-1/+17
| | | | llvm-svn: 28032
* Didn't mean ScheduleDAGList.cpp to make the last checkin.Evan Cheng2006-05-011-33/+17
| | | | llvm-svn: 28030
* Remove temp. option -spiller-check-liveout, it didn't cause any failure nor ↵Evan Cheng2006-05-012-22/+34
| | | | | | performance regressions. llvm-svn: 28029
* Intel mode no longer uses %'s on registersChris Lattner2006-05-016-7/+7
| | | | llvm-svn: 28028
* Remove %'s from register names when in intel mode.Chris Lattner2006-05-012-6/+4
| | | | llvm-svn: 28027
* Format #APP lines a bit nicerChris Lattner2006-05-011-2/+2
| | | | llvm-svn: 28026
* Local spiller kills a store if the folded restore is turned into a copy.Evan Cheng2006-04-303-10/+21
| | | | | | | | But this is incorrect if the spilled value live range extends beyond the current BB. It is currently controlled by a temporary option -spiller-check-liveout. llvm-svn: 28024
* Mingw32 patches supplied by Anton Korobeynikov.Jeff Cohen2006-04-292-3/+3
| | | | llvm-svn: 28023
* Remove a bogus transformation. This fixes ↵Chris Lattner2006-04-281-7/+0
| | | | | | | | SingleSource/UnitTests/2006-01-23-InitializedBitField.c with some changes I have to the new CFE. llvm-svn: 28022
OpenPOWER on IntegriCloud