//===------ IslCodeGeneration.cpp - Code generate the Scops using ISL. ----===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // The IslCodeGeneration pass takes a Scop created by ScopInfo and translates it // back to LLVM-IR using the ISL code generator. // // The Scop describes the high level memory behaviour of a control flow region. // Transformation passes can update the schedule (execution order) of statements // in the Scop. ISL is used to generate an abstract syntax tree that reflects // the updated execution order. This clast is used to create new LLVM-IR that is // computationally equivalent to the original control flow region, but executes // its code in the new execution order defined by the changed scattering. // //===----------------------------------------------------------------------===//