Mercurial > projects > ldc
comparison gen/optimizer.h @ 1482:d9c5f5a43403
Run `semantic3` on imported modules, and emit new symbols with
`available_externally` linkage. This allows the inliner to inline functions from
other modules while telling the code generator to ignore those functions (treat
them as declarations)
Still generates a few extra `TypeInfo`s and strings...
Disabled when generating debug info because I don't really understand it, and it
doesn't like this.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 07 Jun 2009 16:00:13 +0200 |
parents | 0b26cfb2d445 |
children |
comparison
equal
deleted
inserted
replaced
1481:e0f03e11cdf8 | 1482:d9c5f5a43403 |
---|---|
3 | 3 |
4 namespace llvm { class Module; } | 4 namespace llvm { class Module; } |
5 | 5 |
6 bool ldc_optimize_module(llvm::Module* m); | 6 bool ldc_optimize_module(llvm::Module* m); |
7 | 7 |
8 // Determines whether the inliner will run in the -O<N> list of passes | |
8 bool doInline(); | 9 bool doInline(); |
10 // Determines whether the inliner will be run at all. | |
11 bool willInline(); | |
9 | 12 |
10 int optLevel(); | 13 int optLevel(); |
11 | 14 |
12 bool optimize(); | 15 bool optimize(); |
13 | 16 |