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 */
013package org.jikesrvm.compilers.opt.depgraph;
014
015/**
016 * Constants used in the dependence graph
017 */
018public final class 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  public static final int REG_TRUE = 0x00001;
024  public static final int REG_ANTI = 0x00002;
025  public static final int REG_OUTPUT = 0x00004;
026  public static final int MEM_TRUE = 0x00008;
027  public static final int MEM_ANTI = 0x00010;
028  public static final int MEM_OUTPUT = 0x00020;
029  public static final int CONTROL = 0x00040;
030  public static final int EXCEPTION_E = 0x00080;
031  public static final int EXCEPTION_MS = 0x00100;
032  public static final int EXCEPTION_ML = 0x00200;
033  public static final int EXCEPTION_R = 0x00400;
034  public static final int SEQ = 0x00800;
035  public static final int GUARD_TRUE = 0x01000;
036  public static final int GUARD_ANTI = 0x02000;
037  public static final int GUARD_OUTPUT = 0x04000;
038  public static final int MEM_READS_KILL = 0x08000;
039  public static final int REG_MAY_DEF = 0x10000;
040
041  /**
042   * Compact redundant edges?
043   * Set to {@code false} if redundant edges are desired.
044   */
045  public static final boolean COMPACT = true;
046
047  private DepGraphConstants() {
048    // prevent instantiation
049  }
050
051}