Gabor Greif
e510b3af3a
fix typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38453 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 12:00:59 +00:00
Gabor Greif
a99be51bf5
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Evan Cheng
9da60f92d9
(For Chris): Fix failure where we rejected compiling stubs when lazy compilation is disabled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37825 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-30 00:10:37 +00:00
Chris Lattner
108ec4b1ca
avoid mutating a global in an accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36289 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-20 22:57:20 +00:00
Chris Lattner
f7e968a2a2
fit in 80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36288 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-20 22:40:40 +00:00
Chris Lattner
2c639add5f
rename JIT::state -> JIT::jitstate to avoid shadowing ExecutionEngine::state
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36286 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-20 22:40:05 +00:00
Anton Korobeynikov
c6551ffdd5
Implement PR1240
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34959 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-06 05:32:48 +00:00
Reid Spencer
38f6a15df6
Simplify code as a result of the change in GenericValue to have a single
...
integer field of type APInt instead of different sized integer fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34952 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-06 03:11:31 +00:00
Reid Spencer
d4c0e62413
Deal with error handling better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34887 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-03 18:19:18 +00:00
Chris Lattner
e748401b18
Fix PR1216 by cleaning up the ownership of JITResolver.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-24 02:57:03 +00:00
Chris Lattner
d2b7cec527
Generalize TargetData strings, to support more interesting forms of data.
...
Patch by Scott Michel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34266 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14 05:52:17 +00:00
Chris Lattner
990b849abc
eliminate vector-related allocations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13 06:01:22 +00:00
Reid Spencer
5cbf985dcb
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
...
confusion with external linkage types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 20:08:39 +00:00
Anton Korobeynikov
fd58e6e2ec
Moved disassembler to libSystem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 10:26:08 +00:00
Chris Lattner
58092e35a3
Teach TargetData to handle 'preferred' alignment for each target, and use
...
these alignment amounts to align scalars when we can. Patch by Scott Michel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 22:35:55 +00:00
Chris Lattner
c5633c235e
DOUT still evaluates side effects, even though it doesn't print. This means
...
that disassembleBuffer will be called even if NDEBUG, but the result will
be ignored.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33408 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 20:51:43 +00:00
Andrew Lenharth
a9ebd2b91f
fix build on amd64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33367 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 20:17:59 +00:00
Anton Korobeynikov
8cd4c3e653
Adding disassembler interface and external hook to udis86 library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 17:25:17 +00:00
Reid Spencer
a54b7cbd45
For PR1064:
...
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 07:05:14 +00:00
Reid Spencer
579dca12c2
Implement review feedback for the ConstantBool->ConstantInt merge. Chris
...
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 04:24:46 +00:00
Reid Spencer
4fe16d607d
Rename BoolTy as Int1Ty. Patch by Sheng Zhou.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-11 18:21:29 +00:00
Zhou Sheng
6b6b6ef167
For PR1043:
...
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-11 12:24:14 +00:00
Reid Spencer
e49661bdf5
For PR950:
...
Convert signed integer types to signless ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32787 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 05:51:36 +00:00
Chris Lattner
36343735cb
remove static ctors from Statistic objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32700 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 22:43:32 +00:00
Chris Lattner
c1f400ccdd
Fix PR1057 (compilation on macos 10.3), patch by Scott Michel!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32644 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-17 21:04:02 +00:00
Jim Laskey
b92767afd4
Simplify the fetching of relocation mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32588 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-14 22:53:42 +00:00
Jim Laskey
acd80ac7bb
1. Tidy up jump table info.
...
2. Allow the jit to handle PIC relocable jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32581 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-14 19:17:33 +00:00
Reid Spencer
15f46d6c28
Change inferred cast creation calls to more specific cast creations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32460 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 01:17:41 +00:00
Bill Wendling
832171cb97
Removing even more <iostream> includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32320 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 20:04:42 +00:00
Chris Lattner
ac0b6ae358
Detemplatize the Statistic class. The only type it is instantiated with
...
is 'unsigned'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 17:46:33 +00:00
Evan Cheng
9a1e9b9140
Allow target to specify alignment for function stub.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-16 20:04:54 +00:00
Chris Lattner
9cab56d59e
if lazy compilation is disabled, print an error message and abort if
...
lazy compilation is ever attempted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31602 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-09 19:32:13 +00:00
Reid Spencer
3ed469ccd7
For PR786:
...
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 20:25:50 +00:00
Reid Spencer
b83eb6447b
For PR950:
...
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 07:07:24 +00:00
Chris Lattner
c6336273d9
Unbreak the JIT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30384 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-15 04:56:11 +00:00
Anton Korobeynikov
b74ed07bfd
Adding dllimport, dllexport and external weak linkage types.
...
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 18:23:27 +00:00
Chris Lattner
8a650095fc
Fix a ton of jit failures
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30292 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-13 16:21:10 +00:00
Evan Cheng
cd5731d98b
Reflect MachineConstantPoolEntry changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-12 20:59:59 +00:00
Nate Begeman
019f851ab2
Behold, more work on relocations. Things are looking pretty good now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30240 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-10 23:03:44 +00:00
Chris Lattner
1911fd4f85
Completely rearchitect the interface between targets and the pass manager.
...
This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
output, move all this to common code, and give targets hooks they can
implement.
3. Commonalize the target population stuff between file emission and JIT
emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
paves the way for "fast -O0" stuff in the CFE later, and now LLC could
lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
which is now orthogonal to the fact that JIT'ing is being done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:14:57 +00:00
Chris Lattner
c50b76f61d
eliminate use of TM.getName()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-03 18:37:12 +00:00
Evan Cheng
b5aaee0027
Remove extra spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30025 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 18:45:22 +00:00
Evan Cheng
78050d6cbe
Last check-in was a mistake...
...
I've been told apple gcc version number is not guaranteed to increase
monotonically. Change the preprocess condition to make it less risky.
The configuration change is done during the middle 10.4 life cycle so we have
to check __APPLE_CC. For future OS X release, we should be able to assume
-fenable-cxa-atexit is the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30024 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 18:42:59 +00:00
Evan Cheng
4f260b4efa
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30023 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 18:40:46 +00:00
Evan Cheng
fb9c0d7e31
Better comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30017 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 07:09:56 +00:00
Evan Cheng
5f271aff5c
Yikes. This requires checking apple gcc version.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30016 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-01 07:00:46 +00:00
Chris Lattner
fe85403467
initial changes to support JIT'ing from multiple module providers, implicitly
...
linking the program on the fly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 01:24:12 +00:00
Chris Lattner
513748dfc1
Fix handling of asm specifiers for external globals. This unbreaks many programs
...
on leopard in the jit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29391 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 21:11:31 +00:00
Evan Cheng
f141cc46fa
Resolve BB references with relocation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29351 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 18:21:10 +00:00
Jim Laskey
2e9f3686f8
Fixed a typo in Evan's submisson.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29345 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 13:40:34 +00:00
Evan Cheng
55b5053b8e
Move synchronizeICache from TargetJITInfo into a static function in JITEmitter.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29334 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:33:55 +00:00
Chris Lattner
35a14467ed
Fix warning on linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29314 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 00:04:14 +00:00
Evan Cheng
55fc28076f
- Refactor the code that resolve basic block references to a TargetJITInfo
...
method.
- Added synchronizeICache() to TargetJITInfo. It is called after each block
of code is emitted to flush the icache. This ensures correct execution
on targets that have separate dcache and icache.
- Added PPC / Mac OS X specific code to do icache flushing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29276 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:40:54 +00:00
Nate Begeman
b76ea74845
Fix the build on my old and busted version of OS X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29266 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-22 16:59:38 +00:00
Evan Cheng
b82ab94e20
Forgot to #ifdef __APPLE__
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29264 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-22 00:42:03 +00:00
Evan Cheng
5f42c55030
Resolve __dso_handle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29259 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 23:06:20 +00:00
Chris Lattner
21c39a6520
Remove non-portable optimization that isn't worth it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 00:31:47 +00:00
Chris Lattner
c1780d2a0a
Change AllocateRWX/DeallocateRWX do not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:31:41 +00:00
Chris Lattner
5c72a3ae10
Adapt to new interface function materialization interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29051 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:18:09 +00:00
Evan Cheng
52b510b4c4
Added jump table address relocation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28908 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-23 01:02:37 +00:00
Chris Lattner
a827953c32
Only count instructions as code size, not constant pools and other per-function stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28827 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:09:26 +00:00
Chris Lattner
870286aa33
Fix -pedantic warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 17:29:22 +00:00
Chris Lattner
fea34a1f11
Silence some -pedantic warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 17:12:14 +00:00
Chris Lattner
f3af4ff005
Make this print the right start pointer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28321 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:45:50 +00:00
Chris Lattner
bbea1245a1
Fix a hypothetical memory leak, identified by Coverity. In practice, this
...
object is never deleted though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28256 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 18:10:12 +00:00
Owen Anderson
07000c6f01
Refactor a bunch of includes so that TargetMachine.h doesn't have to include
...
TargetData.h. This should make recompiles a bit faster with my current
TargetData tinkering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 06:33:49 +00:00
Chris Lattner
a5f0419b4e
For extra sanity checking, fill free'd memory with garbage so we know that
...
people aren't reusing machine code buffers at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28228 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12 00:03:12 +00:00
Chris Lattner
9f3d1ba9ad
Fix some bugs in the freelist manipulation code.
...
Finally, implement ExecutionEngine::freeMachineCodeForFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28227 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11 23:56:57 +00:00
Chris Lattner
e993cc27ad
Significantly revamp allocation of machine code to use free lists, real
...
allocation policies and much more. All this complexity, and we have no
functionality change, woo! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28225 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11 23:08:08 +00:00
Chris Lattner
e7fd553b3b
Move some methods out of line so that MutexGuard.h isn't needed in a public header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28179 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-08 22:00:52 +00:00
Chris Lattner
b93b0347d8
Adjust to use proper TargetData copy ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-04 21:18:40 +00:00
Chris Lattner
d2d5c76753
minor cleanups, no functionality change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28087 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 18:55:56 +00:00
Chris Lattner
b4432f3d47
Suck block address tracking out of targets into the JIT Emitter. This
...
simplifies the MachineCodeEmitter interface just a little bit and makes
BasicBlocks work like constant pools and jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28082 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 17:10:41 +00:00
Owen Anderson
a69571c799
Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.
...
This fixes PR 759.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 01:29:57 +00:00
Chris Lattner
0eb4d6b52e
Align function bodies correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28073 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 01:03:20 +00:00
Chris Lattner
e6fdcbfc47
Simplify some code. Don't add memory blocks to the Blocks list twice.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28071 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 00:54:49 +00:00
Chris Lattner
af1563fb62
Change the BasicBlockAddrs map to be a vector, indexed by MBB number.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28069 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 00:32:55 +00:00
Chris Lattner
32ca55f3bc
Simplify some code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28066 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03 00:13:06 +00:00
Chris Lattner
f75f9be3fb
Several related changes:
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28065 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 23:22:24 +00:00
Chris Lattner
f5d438c1f0
Do not make the JIT memory manager manage the memory for globals. Instead
...
just have the JIT malloc them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28062 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 21:57:51 +00:00
Chris Lattner
a726c7f1fd
Minor cleanups, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28061 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 21:44:14 +00:00
Chris Lattner
43b429b059
Refactor the machine code emitter interface to pull the pointers for the current
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28059 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 18:27:26 +00:00
Chris Lattner
b0cc79d45b
Remove dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28055 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 17:20:28 +00:00
Nate Begeman
c34b22716b
Fix a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27967 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-25 17:46:32 +00:00
Nate Begeman
37efe67645
JumpTable support! What this represents is working asm and jit support for
...
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22 18:53:45 +00:00
Jeff Cohen
2f51914d82
Get JIT/Interpreter working on Windows again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 02:53:49 +00:00
Chris Lattner
ef98691ca3
remove always-null IntrinsicLowering argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26971 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 05:28:02 +00:00
Chris Lattner
726c1ef2bd
remove the intrinsiclowering hook
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26970 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 05:22:51 +00:00
Chris Lattner
2fe4bb06c6
Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.
...
Now you can build a tool with just the JIT or just the interpreter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26946 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 06:07:50 +00:00
Reid Spencer
9dce2b3380
Convert llvm.cs.uiuc.edu -> llvm.org
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:54:52 +00:00
Chris Lattner
239862ce99
simplify this code now that each constant pool entry is not separately allocated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26079 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 04:49:59 +00:00
Chris Lattner
3029f92051
Adjust to MachineConstantPool interface change: instead of keeping a
...
value/alignment pair for each constant, keep a value/offset pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26078 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 04:46:04 +00:00
Chris Lattner
fa77d43ba1
rename fields of constant pool entries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26076 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 04:22:52 +00:00
Evan Cheng
b8973bd8f5
Allow the specification of explicit alignments for constant pool entries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-31 22:23:14 +00:00
Chris Lattner
ca26180d39
Add #include of <iostream>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25516 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-22 23:41:42 +00:00
Chris Lattner
2199877563
Wrap long lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25140 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-07 06:20:51 +00:00
Chris Lattner
51e6a38b86
wrap long line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25139 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-07 06:12:07 +00:00
Chris Lattner
667eeca19d
Shrinkify to match llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23912 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:39:01 +00:00
Jim Laskey
839615a510
Add help support for -mcpu and -mattr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23222 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-02 19:27:43 +00:00
Jim Laskey
b1e1180ca0
1. Use SubtargetFeatures in llc/lli.
...
2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-01 21:38:21 +00:00