Skip to content
Snippets Groups Projects
gpu.sch 569 B
Newer Older
  • Learn to ignore specific revisions
  • rarbore2's avatar
    rarbore2 committed
    macro simpl!(X) {
      ccp(X);
      simplify-cfg(X);
      lift-dc-math(X);
      gvn(X);
      phi-elim(X);
      dce(X);
      infer-schedules(X);
    }
    
    Aaron Councilman's avatar
    Aaron Councilman committed
    
    
    rarbore2's avatar
    rarbore2 committed
    phi-elim(bfs);
    no-memset(bfs@cost);
    let cost_init = outline(bfs@cost_init);
    let loop1 = outline(bfs@loop1);
    let loop2 = outline(bfs@loop2);
    gpu(loop1, loop2);
    
    Aaron Councilman's avatar
    Aaron Councilman committed
    
    
    rarbore2's avatar
    rarbore2 committed
    simpl!(*);
    predication(*);
    const-inline(*);
    simpl!(*);
    fixpoint {
      forkify(*);
      fork-guard-elim(*);
    }
    simpl!(*);
    predication(*);
    simpl!(*);
    
    Aaron Councilman's avatar
    Aaron Councilman committed
    
    
    rarbore2's avatar
    rarbore2 committed
    unforkify(cost_init);
    parallel-reduce(loop1);
    forkify(*);
    fork-guard-elim(*);
    simpl!(*);
    predication(*);
    reduce-slf(*);
    simpl!(*);
    
    Aaron Councilman's avatar
    Aaron Councilman committed
    
    gcm(*);