File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -180,7 +180,7 @@ class Context {
180180 }
181181}
182182
183- export function generateFromFile ( file : File ) {
183+ export function generateModuleFromFile ( file : File ) : llvm . Module {
184184 const ctx = new Context ( ) ;
185185
186186 let putsFnType = llvm . FunctionType . get ( llvm . Type . getInt32Ty ( ctx . llvmContext ) , [
@@ -200,6 +200,5 @@ export function generateFromFile(file: File) {
200200
201201 irBuilder . createRetVoid ( ) ;
202202
203- const ll = ctx . llvmModule . print ( ) ;
204- console . log ( ll ) ;
203+ return ctx . llvmModule ;
205204}
Original file line number Diff line number Diff line change 11
2+ import * as llvm from 'llvm-node' ;
23import { parseTypeScript } from './Frontend/TypeScript' ;
3- import { generateFromFile } from './Backend/LLVM' ;
4+ import { generateModuleFromFile } from './Backend/LLVM' ;
45
56const ast = parseTypeScript ( ) ;
67
78// console.log(ast);
89
9- const ir = generateFromFile ( ast ) ;
10+ llvm . initializeAllTargetInfos ( ) ;
11+ llvm . initializeAllTargets ( ) ;
12+ llvm . initializeAllTargetMCs ( ) ;
13+ llvm . initializeAllAsmParsers ( ) ;
14+ llvm . initializeAllAsmPrinters ( ) ;
1015
11- // console.log(ir);
16+ const llvmModule = generateModuleFromFile ( ast ) ;
17+
18+ console . log ( llvm . verifyModule ( llvmModule ) ) ;
19+ console . log ( llvmModule . print ( ) ) ;
You can’t perform that action at this time.
0 commit comments