-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaenhancementImproving things as opposed to bug fixing, e.g. new or missing featureImproving things as opposed to bug fixing, e.g. new or missing featurellvm-toolsAll llvm tools that do not have corresponding tagAll llvm tools that do not have corresponding tag
Description
Bugzilla Link | 512 |
Resolution | FIXED |
Resolved on | Feb 22, 2010 12:54 |
Version | trunk |
OS | All |
Reporter | LLVM Bugzilla Contributor |
Extended Description
This enhancement requests that the llvmc and gccld tools support a
-post-link-opt= option that allows the user to specify a "pass" to be run on the
linked bytecode before code generation occurs. For example, we want to be able
to say:
llvmc x.bc y.bc -o a.out -post-link-opt=FOO
which means that the following steps would occur:
- x.bc and y.bc are linked together to produce llvm.bc
- The "FOO" program is invoked to process llvm.bc and return a new bytecode
file. FOO is passed the full path to llvm.bc in the first argument and the
name of a temporary file it should create as the second argument. - If FOO returns a non-zero result code, processing stops.
- If FOO returns a zero result code, the temporary file is read in and
validated. - If the file validates correctly, it is used for code generation resulting in
the creation of the a.out file.
The idea is to allow separate programs to post-process a linked program. For
example, the pool allocator could be just a program that gets downloaded and
used like:
llvmc x.c y.c -postlinkopt=poolalloc -o xy.out
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaenhancementImproving things as opposed to bug fixing, e.g. new or missing featureImproving things as opposed to bug fixing, e.g. new or missing featurellvm-toolsAll llvm tools that do not have corresponding tagAll llvm tools that do not have corresponding tag