Gabor Greif
5f705671e4
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Chris Lattner
e24a5def42
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00
Chris Lattner
ad70a3024f
switch tools to bitcode from bytecode
...
llvm-svn: 36872
2007-05-06 09:32:02 +00:00
Chris Lattner
206534649d
use an auto_ptr to avoid an explicit delete
...
llvm-svn: 36850
2007-05-06 05:47:36 +00:00
Chris Lattner
22509133cd
add bitcode reading support. Remove EH cruft.
...
llvm-svn: 36839
2007-05-06 04:55:19 +00:00
Reid Spencer
39f16aef65
For PR1277:
...
Implement error handling for bytecode parsing.
Patch by Scott Michel.
llvm-svn: 35364
2007-03-26 22:38:01 +00:00
Bill Wendling
9345a73364
The new version of how to add passes to emit files. We explicitly call a
...
function to add the file writers between calls to add the passes.
llvm-svn: 34035
2007-02-08 01:41:07 +00:00
Chris Lattner
43d0b955a3
push bytecode decompressor out through APIs. Now the bytecode reader
...
api's look like this:
ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);
This is ugly, but allows a client to say:
getBytecodeModuleProvider("foo", 0);
If they do this, there is no dependency on the compression libraries, saving
codesize.
llvm-svn: 34012
2007-02-07 21:41:02 +00:00
Reid Spencer
19af04a142
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
...
confusion with external linkage types.
llvm-svn: 33663
2007-01-30 20:08:39 +00:00
Chris Lattner
41c5ddb8cb
make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
...
With this change, I can now move -stats to print when llvm_shutdown is called.
llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner
2da81d7d76
Use LINK_COMPONENTS to specify *components* to link against instead of
...
using USED_LIBS to specify *libraries* to link against.
llvm-svn: 30090
2006-09-04 05:59:09 +00:00
Chris Lattner
33c9ddc91d
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.
llvm-svn: 30081
2006-09-04 04:14:57 +00:00
Chris Lattner
2e68159303
rearrange targets to satisfy dependencies. Too bad we aren't using llvm-config.
...
llvm-svn: 30077
2006-09-04 04:04:41 +00:00
Chris Lattner
2ad6ff3f77
Remove use of target::getName()
...
llvm-svn: 30069
2006-09-03 18:38:30 +00:00
Nate Begeman
ae020ecfa9
Make sure that both non-asm file types are marked as experimental
...
llvm-svn: 29851
2006-08-23 21:29:52 +00:00
Nate Begeman
1268d6cd46
Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
...
does emit linkable .o files in very simple cases.
llvm-svn: 29850
2006-08-23 21:08:52 +00:00
Chris Lattner
9c2e7678ab
Now that SparcV9 is gone, this logical can be simplified significantly.
...
llvm-svn: 29498
2006-08-03 16:59:17 +00:00
Chris Lattner
c7d664b581
Fix the build on case-sensitive filesystems :(
...
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Jim Laskey
b92b14f422
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Devang Patel
66bddd67f1
Fix MacOSX build failures. (pr841)
...
llvm-svn: 29246
2006-07-21 19:44:55 +00:00
Chris Lattner
109640a240
Build more debugger/selectiondag libraries as archives instead of .o files.
...
This works around bugs in some versions of the cygwin linker.
Patch contributed by Anton Korobeynikov.
llvm-svn: 29239
2006-07-21 00:10:47 +00:00
Andrew Lenharth
0311b39af2
Fix linking on Alpha
...
llvm-svn: 29219
2006-07-20 17:27:58 +00:00
Chris Lattner
9f5a13c5c0
Tools require EH for their top-level try blocks.
...
llvm-svn: 29035
2006-07-07 00:46:19 +00:00
Reid Spencer
854aa3ca41
For PR780:
...
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.
llvm-svn: 28719
2006-06-07 23:03:13 +00:00
Reid Spencer
4663b7a174
Oops, llc needs libTarget.a not Target.o
...
llvm-svn: 28611
2006-06-01 01:42:33 +00:00
Reid Spencer
94a443bb29
Use archive libraries instead of object files for VMCore, BCReader,
...
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.
llvm-svn: 28610
2006-06-01 01:30:27 +00:00
Rafael Espindola
dd49dfc0df
added a skeleton of the ARM backend
...
llvm-svn: 28301
2006-05-14 22:18:28 +00:00
Owen Anderson
29e4d70aed
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.
llvm-svn: 28238
2006-05-12 06:33:49 +00:00
Chris Lattner
bf8f91715e
Adjust to use proper TargetData copy ctor
...
llvm-svn: 28112
2006-05-04 21:18:40 +00:00
Owen Anderson
71bc529dfa
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.
llvm-svn: 28074
2006-05-03 01:29:57 +00:00
Chris Lattner
6e568d6bfc
Never link in sparcv9
...
llvm-svn: 27884
2006-04-20 17:07:46 +00:00
Chris Lattner
8228f79eae
Add a warning.
...
llvm-svn: 27795
2006-04-18 05:31:20 +00:00
Chris Lattner
3d5ca510c9
remove always-null IntrinsicLowering argument.
...
llvm-svn: 26971
2006-03-23 05:28:02 +00:00
Chris Lattner
a13bad3d53
remove support for the skeleton target
...
llvm-svn: 26236
2006-02-16 21:10:57 +00:00
Chris Lattner
5a9a874f44
SparcV8 -> Sparc
...
llvm-svn: 26008
2006-02-05 08:30:45 +00:00
Chris Lattner
28415cda31
Remove dead #include
...
llvm-svn: 25520
2006-01-23 00:38:14 +00:00
Chris Lattner
685b2eb976
It doesn't make sense to give llc a list of passes on the command line,
...
LLVM doesn't use it and it can't work anyway.
llvm-svn: 25519
2006-01-23 00:36:05 +00:00
Chris Lattner
0d03087d6d
remove unused header
...
llvm-svn: 25101
2006-01-05 00:21:37 +00:00
Jim Laskey
61138e28ff
Applied some recommend changes from sabre. The dominate one beginning "let the
...
pass manager do it's thing." Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.
llvm-svn: 25100
2006-01-04 22:28:25 +00:00
Jim Laskey
c8681a0c43
Adding MachineDebugInfo as a immutable pass.
...
llvm-svn: 25088
2006-01-04 13:42:02 +00:00
Duraid Madina
5bcf91632a
don't need this anymore
...
llvm-svn: 25049
2005-12-30 02:50:44 +00:00
Duraid Madina
c2dd544342
delete file portably
...
llvm-svn: 25048
2005-12-30 02:47:21 +00:00
Duraid Madina
362af3db08
behold my standards-compliant humps!
...
llvm-svn: 25033
2005-12-28 05:56:36 +00:00
Duraid Madina
446f8cd8d0
WAKEY WAKEY
...
llvm-svn: 25032
2005-12-28 05:48:55 +00:00
Chris Lattner
9823998a84
rename option for consistency with -mcpu -mattr etc
...
llvm-svn: 24734
2005-12-16 05:19:55 +00:00
Chris Lattner
073c670431
provide an option to override the target triple in a module from the command
...
line.
llvm-svn: 24729
2005-12-16 04:59:57 +00:00
Chris Lattner
6d1e384d01
Add a new -fast option, which generates code quickly.
...
llvm-svn: 24234
2005-11-08 02:12:17 +00:00
John Criswell
d6538108e8
Move some constant folding code shared by Analysis and Transform passes
...
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.
llvm-svn: 24036
2005-10-27 15:54:34 +00:00
John Criswell
b0f5adf975
1. Remove libraries no longer created from the list of libraries linked into the
...
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
LLVMAnalysis.a. These two libraries have circular dependencies on each
other which creates problem when building the SparcV9 JIT. This change
fixes the dependency on all platforms problems with a minimum of fuss.
llvm-svn: 24023
2005-10-26 20:35:13 +00:00
Chris Lattner
4067c1daf1
transforms before analyses
...
llvm-svn: 23976
2005-10-25 17:10:30 +00:00