@@ -110,7 +110,9 @@ func NewCompiler(pkgName string, config Config) (*Compiler, error) {
110
110
c .mod .SetTarget (config .Triple )
111
111
c .mod .SetDataLayout (c .targetData .String ())
112
112
c .builder = c .ctx .NewBuilder ()
113
- c .dibuilder = llvm .NewDIBuilder (c .mod )
113
+ if c .Debug {
114
+ c .dibuilder = llvm .NewDIBuilder (c .mod )
115
+ }
114
116
115
117
c .uintptrType = c .ctx .IntType (c .targetData .PointerSize () * 8 )
116
118
if c .targetData .PointerSize () <= 4 {
@@ -214,13 +216,15 @@ func (c *Compiler) Compile(mainPath string) error {
214
216
c .ir .SimpleDCE ()
215
217
216
218
// Initialize debug information.
217
- c .cu = c .dibuilder .CreateCompileUnit (llvm.DICompileUnit {
218
- Language : llvm .DW_LANG_Go ,
219
- File : mainPath ,
220
- Dir : "" ,
221
- Producer : "TinyGo" ,
222
- Optimized : true ,
223
- })
219
+ if c .Debug {
220
+ c .cu = c .dibuilder .CreateCompileUnit (llvm.DICompileUnit {
221
+ Language : llvm .DW_LANG_Go ,
222
+ File : mainPath ,
223
+ Dir : "" ,
224
+ Producer : "TinyGo" ,
225
+ Optimized : true ,
226
+ })
227
+ }
224
228
225
229
var frames []* Frame
226
230
@@ -373,14 +377,16 @@ func (c *Compiler) Compile(mainPath string) error {
373
377
c .mod .NamedFunction ("runtime.scheduler" ).SetLinkage (llvm .ExternalLinkage )
374
378
375
379
// see: https://reviews.llvm.org/D18355
376
- c .mod .AddNamedMetadataOperand ("llvm.module.flags" ,
377
- c .ctx .MDNode ([]llvm.Metadata {
378
- llvm .ConstInt (c .ctx .Int32Type (), 1 , false ).ConstantAsMetadata (), // Error on mismatch
379
- llvm .GlobalContext ().MDString ("Debug Info Version" ),
380
- llvm .ConstInt (c .ctx .Int32Type (), 3 , false ).ConstantAsMetadata (), // DWARF version
381
- }),
382
- )
383
- c .dibuilder .Finalize ()
380
+ if c .Debug {
381
+ c .mod .AddNamedMetadataOperand ("llvm.module.flags" ,
382
+ c .ctx .MDNode ([]llvm.Metadata {
383
+ llvm .ConstInt (c .ctx .Int32Type (), 1 , false ).ConstantAsMetadata (), // Error on mismatch
384
+ llvm .GlobalContext ().MDString ("Debug Info Version" ),
385
+ llvm .ConstInt (c .ctx .Int32Type (), 3 , false ).ConstantAsMetadata (), // DWARF version
386
+ }),
387
+ )
388
+ c .dibuilder .Finalize ()
389
+ }
384
390
385
391
return nil
386
392
}
0 commit comments