mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +00:00
Run the internalize pass to mark all functions except main internal when
linking the final program to allow smarter optimizations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
100d6daca4
commit
7bf5dfec19
@ -23,6 +23,7 @@
|
||||
#include "llvm/Transforms/CleanupGCCOutput.h"
|
||||
#include "llvm/Transforms/ConstantMerge.h"
|
||||
#include "llvm/Transforms/IPO/GlobalDCE.h"
|
||||
#include "llvm/Transforms/IPO/Internalize.h"
|
||||
#include "Support/CommandLine.h"
|
||||
#include "Support/Signals.h"
|
||||
#include <fstream>
|
||||
@ -81,8 +82,6 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
cl::ParseCommandLineOptions(argc, argv, " llvm linker for GCC\n",
|
||||
cl::EnableSingleLetterArgValue |
|
||||
@ -148,7 +147,7 @@ int main(int argc, char **argv) {
|
||||
// Now that composite has been compiled, scan through the module, looking for
|
||||
// a main function. If main is defined, mark all other functions internal.
|
||||
//
|
||||
// TODO:
|
||||
Passes.add(createInternalizePass());
|
||||
|
||||
// Now that we have optimized the program, discard unreachable functions...
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user