001 /* 002 * This file is part of the Jikes RVM project (http://jikesrvm.org). 003 * 004 * This file is licensed to You under the Eclipse Public License (EPL); 005 * You may not use this file except in compliance with the License. You 006 * may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/eclipse-1.0.php 009 * 010 * See the COPYRIGHT.txt file distributed with this work for information 011 * regarding copyright ownership. 012 */ 013 package org.jikesrvm.compilers.opt.depgraph; 014 015 /** 016 * Constants used in the dependence graph 017 */ 018 public interface DepGraphConstants { 019 020 // The dependence kind info is one of the above types 021 // WARNING: it can use only the lower 28 bits 022 // (see SpaceEffGraphEdge.java) 023 int REG_TRUE = 0x00001; 024 int REG_ANTI = 0x00002; 025 int REG_OUTPUT = 0x00004; 026 int MEM_TRUE = 0x00008; 027 int MEM_ANTI = 0x00010; 028 int MEM_OUTPUT = 0x00020; 029 int CONTROL = 0x00040; 030 int EXCEPTION_E = 0x00080; 031 int EXCEPTION_MS = 0x00100; 032 int EXCEPTION_ML = 0x00200; 033 int EXCEPTION_R = 0x00400; 034 int SEQ = 0x00800; 035 int GUARD_TRUE = 0x01000; 036 int GUARD_ANTI = 0x02000; 037 int GUARD_OUTPUT = 0x04000; 038 int MEM_READS_KILL = 0x08000; 039 int REG_MAY_DEF = 0x10000; 040 041 /** 042 * Compact redundant edges? 043 * Set to {@code false} if redundant edges are desired. 044 */ 045 boolean COMPACT = true; 046 }