summaryrefslogtreecommitdiff
path: root/compiler_and_linker/unsorted/IrOptimizer.c
blob: 462adf35b8259ca016178e99e52d0597ab6e35cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "compiler/IrOptimizer.h"
#include "compiler/CParser.h"

Boolean DoScalarize;
Boolean DoLinearize;
Boolean EarlyReturn;
Boolean IRO_CPFirstTime;
Boolean VectorPhaseCalledFromUnroll;
Boolean IRO_Log;
static Boolean stIsSetup;

static void CountRefToObject() {
}

static void CountARef() {
}

static void CountDoubleInd() {
}

static void CountUsage() {
}

Statement *IRO_Optimizer(Object *obj, Statement *stmt) {
}

void IRO_Setup(void) {
    static Boolean ENodeArraysHaveBeenInitialized;
}

void IRO_Cleanup(void) {
}

void CodeGen_UpdateOptimizerOptions(void) {
    copts.opt_dead_code = copts.optimizationlevel > 0;
    copts.opt_propagation = copts.optimizationlevel > 1;
    copts.opt_common_subs = copts.optimizationlevel > 1;
    copts.opt_vectorize_loops = copts.optimizationlevel > 2;
    copts.opt_unroll_loops = copts.optimizationlevel > 2;
    copts.opt_dead_assignments = copts.optimizationlevel > 2;
    copts.opt_lifetimes = copts.optimizationlevel > 2;
    copts.opt_strength_reduction = copts.optimizationlevel > 2;
    copts.opt_loop_invariants = copts.optimizationlevel > 2;
    copts._B4 = copts.optimizationlevel > 3;
}