Mercurial > projects > ldc
comparison dmd/mars.c @ 129:8096ba7082db trunk
[svn r133] Fixed some problems with inlining not happening :P
Fixed problems with certain cases of deeply nested classes/functions.
author | lindquist |
---|---|
date | Fri, 28 Dec 2007 22:55:24 +0100 |
parents | facc562f5674 |
children | a7dfa0ed966c |
comparison
equal
deleted
inserted
replaced
128:e5fe8521bbfa | 129:8096ba7082db |
---|---|
262 global.params.useIn = 1; | 262 global.params.useIn = 1; |
263 global.params.useOut = 0; | 263 global.params.useOut = 0; |
264 global.params.useArrayBounds = 0; | 264 global.params.useArrayBounds = 0; |
265 global.params.useSwitchError = 0; | 265 global.params.useSwitchError = 0; |
266 global.params.useInline = 0; // this one messes things up to a point where codegen breaks | 266 global.params.useInline = 0; // this one messes things up to a point where codegen breaks |
267 global.params.llvmInline = 0; // use this one instead to know if inline passes should be run | |
267 global.params.obj = 1; | 268 global.params.obj = 1; |
268 global.params.Dversion = 2; | 269 global.params.Dversion = 2; |
269 | 270 |
270 global.params.linkswitches = new Array(); | 271 global.params.linkswitches = new Array(); |
271 global.params.libfiles = new Array(); | 272 global.params.libfiles = new Array(); |
469 } | 470 } |
470 } | 471 } |
471 #endif | 472 #endif |
472 else if (strcmp(p + 1, "inline") == 0) { | 473 else if (strcmp(p + 1, "inline") == 0) { |
473 // TODO | 474 // TODO |
474 // the ast rewrites dmd does for inling messes up the ast | 475 // the ast rewrites dmd does for inlining messes up the ast. |
475 // someday maybe we can support it, for now llvm does an excellent job at inlining | 476 // someday maybe we can support it, for now llvm does an excellent job at inlining |
476 global.params.useInline = 0; //1 | 477 global.params.useInline = 0; //1 |
478 global.params.llvmInline = 1; | |
477 } | 479 } |
478 else if (strcmp(p + 1, "nofloat") == 0) | 480 else if (strcmp(p + 1, "nofloat") == 0) |
479 global.params.nofloat = 1; | 481 global.params.nofloat = 1; |
480 else if (strcmp(p + 1, "quiet") == 0) | 482 else if (strcmp(p + 1, "quiet") == 0) |
481 global.params.quiet = 1; | 483 global.params.quiet = 1; |