diff gen/passes/Passes.h @ 1287:6c8af78364f5

There's an issue with LLVM metadata support; it triggers an assert when trying to generate asm for code with metadata globals. This new pass is used as a workaround: it strips metadata from the module before it reaches the code generator. Obviously, this is disabled if LLVM doesn't support metadata.
author Frits van Bommel <fvbommel wxs.nl>
date Sat, 02 May 2009 12:19:43 +0200
parents 91d9386d4a5a
children e109e4031e8a
line wrap: on
line diff
--- a/gen/passes/Passes.h	Sat May 02 11:58:50 2009 +0200
+++ b/gen/passes/Passes.h	Sat May 02 12:19:43 2009 +0200
@@ -1,13 +1,19 @@
 #ifndef LDC_PASSES_H
 #define LDC_PASSES_H
 
+#include "gen/metadata.h"
 namespace llvm {
     class FunctionPass;
+    class ModulePass;
 }
 
 // Performs simplifications on runtime calls.
 llvm::FunctionPass* createSimplifyDRuntimeCalls();
 llvm::FunctionPass* createGarbageCollect2Stack();
 
+#ifdef USE_METADATA
+llvm::ModulePass *createStripMetaData();
+#endif
+
 
 #endif