Reid Spencer
b020e7510f
Don't re-instantiate the std::string in catch block.
...
llvm-svn: 16159
2004-09-03 22:59:32 +00:00
Reid Spencer
c4abcbefb1
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
5dce2f81aa
Make sure <cassert> is included for platforms that don't include it via
...
other header files.
llvm-svn: 16134
2004-09-01 20:36:15 +00:00
Reid Spencer
6e7a5dc434
Initial commit of a configuration file for compiling C++ programs with
...
the file name pattern *.cpp
llvm-svn: 16117
2004-08-30 06:32:24 +00:00
Reid Spencer
84cf11571d
Implement the "setIncludePaths" and "setSymbolDefines" interface methods.
...
Revise token substitution to be a little faster.
Clean up exception throwing, make sure its always a std::string.
llvm-svn: 16116
2004-08-30 06:29:06 +00:00
Reid Spencer
fb109f9d22
Pass lists of -I and -D options through to the Compiler Driver.
...
Handle -g and -Wxxx for GCC compatibility
llvm-svn: 16115
2004-08-30 06:27:32 +00:00
Reid Spencer
dac3230f2c
Need to throw std::string not const char* if we want error messages to be
...
caught.
llvm-svn: 16109
2004-08-30 00:06:52 +00:00
Reid Spencer
24cdc1127d
Add a missing header file
...
llvm-svn: 16099
2004-08-29 20:02:28 +00:00
Reid Spencer
e044a2172e
Add the LLVMsystem.a library as it is now used for operating system
...
independence of the tool.
llvm-svn: 16092
2004-08-29 19:29:38 +00:00
Reid Spencer
8cb2484800
The functions in Signal.h are now in the llvm::sys namespace - adjust
...
llvm-svn: 16091
2004-08-29 19:28:55 +00:00
Reid Spencer
9b8cc2874a
add llvmc
...
llvm-svn: 16090
2004-08-29 19:27:34 +00:00
Reid Spencer
db30d00e08
Convert llvmc to use the lib/System interface instead of directly
...
using Unix operating system calls.
llvm-svn: 16089
2004-08-29 19:26:56 +00:00
Reid Spencer
2cd624a646
License file for llvmc.
...
llvm-svn: 16045
2004-08-25 00:41:06 +00:00
Reid Spencer
6faef7d66f
Insert declarations for two new functions that support the dependent
...
libraries feature.
llvm-svn: 16043
2004-08-24 22:55:34 +00:00
Reid Spencer
06c4d33910
Run the compilation actions before we attempt linking work.
...
Correctly implement the dependent libraries feature so that linked bytecode
files automatically include any dependent libraries they specify.
llvm-svn: 16042
2004-08-24 22:54:32 +00:00
Reid Spencer
5ab60e3f09
Add the directory specified by LLVM_LIB_SEARCH_PATH to the list of
...
directories to be searched during linking.
llvm-svn: 16041
2004-08-24 22:53:13 +00:00
Reid Spencer
db7904901b
Get rid of error messages from CommandLine because -time-passes was
...
defined twice. We make use of the new TimePassesIsEnabled global boolean
value from Pass.h to access the value.
llvm-svn: 16033
2004-08-24 17:54:26 +00:00
Reid Spencer
04ce97fcfb
Adjustments for changes in the configuration language.
...
llvm-svn: 16026
2004-08-24 14:24:14 +00:00
Reid Spencer
80ef5155ef
- Unify format of output messages
...
- All errors throw std::string
- Default output file name to a.out (if we're linking)
llvm-svn: 16025
2004-08-24 14:05:30 +00:00
Reid Spencer
57f14fb5ba
Link with bcreader and vmcore.
...
llvm-svn: 16024
2004-08-24 14:04:07 +00:00
Reid Spencer
2ab1477240
- Implement the %args% substitution
...
- Implement parsing of the .output={bytecode|assembly} item.
- Drop parsing support for translator.optimizes, translator.groks_dash_O,
optimizer.groks_dash_O, translator.output_is_asm, optimizer.output_is_asm
- Add parsing support for translator.output and optimizer.output
- Add optimizer.required parsing support
- Add linker.libs and linker.libpaths parsing support
- Fix error messages to list correct set of tokens expected.
- Rename FileReadable -> FileIsReadable (changed in CompilerDriver.cpp)
llvm-svn: 16023
2004-08-24 14:03:23 +00:00
Reid Spencer
911f0cdb14
- Alphabetize the list of token enumerators.
...
- Drop old tokens, insert new tokens
llvm-svn: 16022
2004-08-24 13:59:35 +00:00
Reid Spencer
442ebf8ff7
- Rename and rearrange for clarity
...
- Drop name tokens not used any more (GROKS_DASH_O)
- Rename OUTPUT_IS_ASM as OUTPUT and allow "bytecode" and "assembly" as
values of it.
- Simplify handleContext (now handleNameContext) arguments and ensure that
it returns OPTION tokens exactly as scanned.
llvm-svn: 16021
2004-08-24 13:58:37 +00:00
Reid Spencer
3c92d9c9b5
- Remove unused GetSuffix function
...
- Renamed FileReadable -> FileIsReadable
- Remove support for GROKS_DASH_O; deferr it to %opts% substitution
- Require a -o option except in case of linking where it defaults to a.out
- Fix problem processing *.o and *.bc files.
- Ignore optimization phase if -emit-raw-code
- Correct the assembly generation phase to support -emit-native-code
- Implement dependent library lookup
llvm-svn: 16020
2004-08-24 13:55:17 +00:00
Reid Spencer
4fcef1c5ef
Remove unneeded flags.
...
llvm-svn: 16019
2004-08-24 13:49:57 +00:00
Reid Spencer
da175fc4f5
Provide support for retaining the version number found in a config file.
...
llvm-svn: 15995
2004-08-22 18:03:25 +00:00
Reid Spencer
a0a8121591
Add the VERSION token.
...
llvm-svn: 15994
2004-08-22 18:02:41 +00:00
Reid Spencer
d4455d815e
Add support for version numbers.
...
Allow CRLF as a line terminator (as well as plain LF)
llvm-svn: 15993
2004-08-22 18:02:13 +00:00
Reid Spencer
59652b454a
Shorten lines so this file can be used as the documentation example
...
directly. Remove -pre (experimental pass).
llvm-svn: 15992
2004-08-22 18:01:19 +00:00
Reid Spencer
be70baea8a
Correct to change interface of the analyzer.
...
llvm-svn: 15986
2004-08-21 21:00:24 +00:00
Reid Spencer
8a881d2717
Change @ -> % in config files. @name@ might be needed for config files to
...
themselves be configured via autoconf so its not a good substitition syntax
for llvmc. Furthermore % is more llvmish :)
llvm-svn: 15957
2004-08-20 22:53:11 +00:00
Reid Spencer
deca3b5840
Implement the correct search for configuration files. llvmc will now try
...
the following in this order:
1. -config-dir=/path/to/configs
2. LLVM_CONFIG_DIR=/path/to/configs
3. ~/.llvm/etc
4. $prefix/etc
5. /etc/llvm
llvm-svn: 15950
2004-08-20 09:24:07 +00:00
Reid Spencer
cad614877f
Add CONFIG_FILES so the language specific config files can be installed.
...
llvm-svn: 15949
2004-08-20 09:21:51 +00:00
Reid Spencer
4fa690d247
Implement Assembly support.
...
Consolidate platform-specific code into "sys" namespace.
llvm-svn: 15947
2004-08-20 09:14:05 +00:00
Reid Spencer
20baacd924
Actually let it compile after file name changes.
...
llvm-svn: 15931
2004-08-19 21:52:49 +00:00
Reid Spencer
85a95dd68c
Moved ConfigData -> Configuration
...
llvm-svn: 15927
2004-08-19 21:17:53 +00:00
Reid Spencer
d2e0e70267
Implement many new features for llvmc. This is the first version that will
...
actually execute actions and it is been shown to optimize a Stacker program
llvm-svn: 15912
2004-08-19 04:49:47 +00:00
Reid Spencer
5fdd631700
Back out dependencies on lib/System/Path.h
...
llvm-svn: 15815
2004-08-16 07:06:38 +00:00
Reid Spencer
cbfb127298
Fix definitions to match tool's actual capabilities.
...
llvm-svn: 15814
2004-08-16 07:06:13 +00:00
Chris Lattner
9a1b8cf1de
Documentation like this doesn't belong here, and now we have the commandguide
...
llvm-svn: 15785
2004-08-15 22:53:20 +00:00
Reid Spencer
331131e1a2
More Functionality:
...
- cleaned up lexical scanner
- added support for "lang.optN" configuration items
- added temporary file support (ala lib/System)
- corrected logic for deciding which phases to run
- consolidated the Action and ActionPattern classes
llvm-svn: 15765
2004-08-15 08:19:46 +00:00
Reid Spencer
84327dc15e
Initial configuration files (to be installed) for ll (LLVM Assembly) and
...
st (Stacker) source files. These versions for testing/review only.
llvm-svn: 15764
2004-08-15 08:16:12 +00:00
Reid Spencer
737adb695d
Converted to use flex for tokenizing input so we can use an easier to
...
understand recursive descent parser, we can easily handle more syntax
variety, and we can more easily change the configuration items accepted.
llvm-svn: 15732
2004-08-14 09:37:15 +00:00
Reid Spencer
fe43dbee67
Fix header commentary.
...
llvm-svn: 15729
2004-08-13 20:25:54 +00:00
Reid Spencer
b0b89a1dd3
Additional functionality. This version handles option parsing and parameter
...
subsitution correctly for at least .ll and .st files. There's still a long
way to go (i.e. this isn't worth of review yet).
llvm-svn: 15728
2004-08-13 20:22:43 +00:00
Reid Spencer
0d84117719
First version of a utility internal to llvmc that handles the parsing and
...
construction of configuration data for compiler front ends.
llvm-svn: 15727
2004-08-13 20:21:22 +00:00
Chris Lattner
8966ce8f41
If the block extractor fails, actually emit the bc file that failed to extract
...
llvm-svn: 15675
2004-08-12 02:36:50 +00:00
Reid Spencer
9b02858105
Move CompilerDriver.h here.
...
llvm-svn: 15609
2004-08-10 16:29:18 +00:00
Reid Spencer
0cef958976
Initial makefile for the LLVM Compiler Driver.
...
llvm-svn: 15608
2004-08-10 16:27:08 +00:00
Reid Spencer
18752e3fa4
First "do nothing" version of the LLVM Compiler Driver. This version just
...
processes command line arguments and allows --help to be used.
llvm-svn: 15607
2004-08-10 16:26:01 +00:00