Changeset 141

Show
Ignore:
Timestamp:
11/18/07 11:07:28 (11 months ago)
Author:
Don Clugston
Message:

Compile with -debug=BladeFrontEnd? to see the mixed-in code (with line info!). Compile with -debug=BladeBackEnd? to see the generated asm code.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/blade/Blade.d

    r140 r141  
    5656char [] vectorize(char [] expr) 
    5757{ 
    58     return "pragma(msg, \\n ~ makeVectorCode(" ~ syntaxtreeof(expr) ~ ")~\\n);" 
     58    debug (BladeFrontEnd) { 
     59    return `pragma(msg, \n ~ "// " __FILE__ ~ "(" ~__LINE__.stringof[0..$-1] ~ ") ` ~ enquote(expr) ~ `" ~ \n ~ makeVectorCode(` ~ syntaxtreeof(expr) ~ ")~\\n);"     
    5960    "mixin(makeVectorCode(" ~ syntaxtreeof(expr) ~ "));"; 
     61    } else { 
     62       return "mixin(makeVectorCode(" ~ syntaxtreeof(expr) ~ "));"; 
     63    } 
    6064}         
    6165 
     
    8791void SSEVECGEN(int SSEVersion, char [] expr, Values...)(int veclength, Values values) { 
    8892    const ranklist = TupleRank!(Values); 
    89  //   pragma(msg, generateCodeForSSE(SSEVersion, ranklist, expr)); 
     93    debug(BladeBackEnd) { 
     94       pragma(msg, generateCodeForSSE(SSEVersion, ranklist, expr)); 
     95    } 
    9096    mixin(generateCodeForSSE(SSEVersion, ranklist, expr)); 
    9197 } 
     
    98104    const ranklist = TupleRank!(Values); 
    99105    const char [] expr = rawexpr; 
    100      
    101 //    pragma(msg, generateCodeForAsmX87(typelist, ranklist, expr)); 
     106    debug(BladeBackEnd) {     
     107        pragma(msg, generateCodeForAsmX87(typelist, ranklist, expr)); 
     108    } 
    102109    mixin(generateCodeForAsmX87(typelist, ranklist, expr)); 
    103110} 
  • trunk/blade/BladeDemo.d

    r134 r141  
    1616     
    1717void main() 
    18 
    19      
     18{    
    2019    static z = [3.4, 565, 31.3, 0]; 
    2120    double [] a = new double[4];