/*
 * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */


package org.graalvm.compiler.nodes.test;

import org.junit.Test;

import org.graalvm.compiler.core.test.GraalCompilerTest;
import org.graalvm.compiler.java.LargeLocalLiveness;
import org.graalvm.compiler.java.SmallLocalLiveness;

public class LoopLivenessTest extends GraalCompilerTest {

    
Exercise SmallLocalLiveness with 64 loops.
/** * Exercise {@link SmallLocalLiveness} with 64 loops. */
public static void manyLoopsSmall() { for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } }
Exercise LargeLocalLiveness with 64 loops.
/** * Exercise {@link LargeLocalLiveness} with 64 loops. */
@SuppressWarnings("unused") public static void manyLoopsLarge() { int i0; int i1; int i2; int i3; int i4; int i5; int i6; int i7; int i8; int i9; int i10; int i11; int i12; int i13; int i14; int i15; int i16; int i17; int i18; int i19; int i20; int i21; int i22; int i23; int i24; int i25; int i26; int i27; int i28; int i29; int i30; int i31; int i32; int i33; int i34; int i35; int i36; int i37; int i38; int i39; int i40; int i41; int i42; int i43; int i44; int i45; int i46; int i47; int i48; int i49; int i50; int i51; int i52; int i53; int i54; int i55; int i56; int i57; int i58; int i59; int i60; int i61; int i62; int i63; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { } } } @Test public void testManyLoopsSmall() { test("manyLoopsSmall"); } @Test public void testManyLoopsLarge() { test("manyLoopsLarge"); } }