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    }