annotate gen/optimizer.h @ 1650:40bd4a0d4870

Update to work with LLVM 2.7. Removed use of dyn_cast, llvm no compiles without exceptions and rtti by default. We do need exceptions for the libconfig stuff, but rtti isn't necessary (anymore). Debug info needs to be rewritten, as in LLVM 2.7 the format has completely changed. To have something to look at while rewriting, the old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means that you have to define this to compile at the moment. Updated tango 0.99.9 patch to include updated EH runtime code, which is needed for LLVM 2.7 as well.
author Tomas Lindquist Olsen
date Wed, 19 May 2010 12:42:32 +0200
parents d9c5f5a43403
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1173
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
1 #ifndef LDC_GEN_OPTIMIZER_H
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
2 #define LDC_GEN_OPTIMIZER_H
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
3
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
4 namespace llvm { class Module; }
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
5
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
6 bool ldc_optimize_module(llvm::Module* m);
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
7
1482
d9c5f5a43403 Run `semantic3` on imported modules, and emit new symbols with
Frits van Bommel <fvbommel wxs.nl>
parents: 1174
diff changeset
8 // Determines whether the inliner will run in the -O<N> list of passes
1173
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
9 bool doInline();
1482
d9c5f5a43403 Run `semantic3` on imported modules, and emit new symbols with
Frits van Bommel <fvbommel wxs.nl>
parents: 1174
diff changeset
10 // Determines whether the inliner will be run at all.
d9c5f5a43403 Run `semantic3` on imported modules, and emit new symbols with
Frits van Bommel <fvbommel wxs.nl>
parents: 1174
diff changeset
11 bool willInline();
1173
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
12
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
13 int optLevel();
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
14
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
15 bool optimize();
b0f9652f31de Forgot to commit this file, sorry
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
16
1174
0b26cfb2d445 Add newlines to end of file.
Christian Kamm <kamm incasoftware de>
parents: 1173
diff changeset
17 #endif
0b26cfb2d445 Add newlines to end of file.
Christian Kamm <kamm incasoftware de>
parents: 1173
diff changeset
18