From aec1b8dddc68ecb8288ec6132932e4c7b4bca09f Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Tue, 10 Jan 2023 11:05:21 +0000 Subject: getting close to done --- includes/compiler/IroLoop.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'includes/compiler/IroLoop.h') diff --git a/includes/compiler/IroLoop.h b/includes/compiler/IroLoop.h index 8357830..0c60589 100644 --- a/includes/compiler/IroLoop.h +++ b/includes/compiler/IroLoop.h @@ -5,32 +5,32 @@ #include "compiler/BitVector.h" typedef enum IROLoopIndFlags { - LoopInd_1 = 1, - LoopInd_2 = 2, + LoopInd_HasMod = 1, + LoopInd_HasDiv = 2, LoopInd_4 = 4, LoopInd_8 = 8 } IROLoopIndFlags; typedef enum IROLoopFlags { - LoopFlags_1 = 1, + LoopFlags_1 = 1, // LP_INDUCTION_AT_LEFT LP_LOOP_HAS_CALLS = 2, LP_LOOP_HAS_CNTRLFLOW = 4, - LoopFlags_8 = 8, + LoopFlags_8 = 8, // LP_HAS_NONASSIGN LP_INDUCTION_NOT_FOUND = 0x10, LP_IFEXPR_NON_CANONICAL = 0x20, LP_HAS_MULTIPLE_INDUCTIONS = 0x40, LP_LOOP_HDR_HAS_SIDEEFFECTS = 0x80, - LoopFlags_100 = 0x100, - LoopFlags_200 = 0x200, + LP_LOOP_STEP_ISADD = 0x100, + LoopFlags_200 = 0x200, // LP_HEADER_FOLLOWS_UPDATE? LP_LOOP_STEP_ISPOS = 0x400, - LoopFlags_800 = 0x800, - LoopFlags_1000 = 0x1000, - LoopFlags_2000 = 0x2000, + LoopFlags_800 = 0x800, // LP_IND_USED_IN_LOOP + LoopFlags_1000 = 0x1000, // LP_HAS_MULTIPLE_EXITS + LoopFlags_2000 = 0x2000, // inverse of LP_LOOP_STEP_ISADD? LP_LOOP_STEP_ISNEG = 0x4000, LP_LOOP_HAS_ASM = 0x8000, - LoopFlags_10000 = 0x10000, - LoopFlags_20000 = 0x20000, - LoopFlags_40000 = 0x40000 + LoopFlags_10000 = 0x10000, // LP_WHILE_LOOP + LoopFlags_20000 = 0x20000, // maybe LP_RECURSIVE_LOOP? + LoopFlags_40000 = 0x40000 // LP_IS_REDUCTION_CAND } IROLoopFlags; #ifdef __MWERKS__ @@ -50,10 +50,10 @@ struct IROLoop { SInt32 flags; IRONode *fnode; int x8; - int xC; - int x10; + IRONode *xC; + IRONode *x10; IROLinear *nd14; // assignment expression that sets the initial value of induction - IROLinear *nd18; + IROLinear *nd18; // ifexpr? IROLoopInd *induction; int index20; int index24; -- cgit v1.2.3