llvm.org GIT mirror llvm / b576c94
Added LLVM project notice to the top of every C++ source file. Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8 John Criswell 15 years ago
249 changed file(s) with 1743 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
0 //===- AliasAnalysis.cpp - Generic Alias Analysis Interface Implementation -==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the generic AliasAnalysis interface which is used as the
310 // common interface used by all clients and implementations of alias analysis.
0 //===- AliasAnalysisCounter.cpp - Alias Analysis Query Counter ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a pass which can be used to count how many alias queries
310 // are being made and how the alias analysis implementation being used responds.
0 //===- AliasAnalysisEvaluator.cpp - Alias Analysis Accuracy Evaluator -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a simple N^2 alias analysis accuracy evaluator.
310 // Basically, for each function in the program, it simply queries to see how the
0 //===- AliasSetTracker.cpp - Alias Sets Tracker implementation-------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the AliasSetTracker and AliasSet classes.
310 //
0 //===- llvm/Analysis/BasicAliasAnalysis.h - Alias Analysis Impl -*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the default implementation of the Alias Analysis interface
310 // that simply implements a few identities (two different globals cannot alias,
0 //===-- ConstantRange.cpp - ConstantRange implementation ------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Represent a range of possible values that may occur when the program is run
310 // for an integral value. This keeps track of a lower and upper bound for the
0 //===- BottomUpClosure.cpp - Compute bottom-up interprocedural closure ----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the BUDataStructures class, which represents the
310 // Bottom-Up Interprocedural closure of the data structure graph over the
0 //===- DataStructure.cpp - Implement the core data structure analysis -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the core data structure functionality.
310 //
0 //===- DataStructureAA.cpp - Data Structure Based Alias Analysis ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass uses the top-down data structure graphs to implement a simple
310 // context sensitive alias analysis.
0 //===- DataStructureOpt.cpp - Data Structure Analysis Based Optimizations -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass uses DSA to a series of simple optimizations, like marking
310 // unwritten global variables 'constant'.
0 //===- DSGraphStats.cpp - Various statistics for DS Graphs ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 //===----------------------------------------------------------------------===//
310
0 //===- GraphChecker.cpp - Assert that various graph properties hold -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is used to test DSA with regression tests. It can be used to check
310 // that certain graph properties hold, such as two nodes being disjoint, whether
0 //===- IPModRef.cpp - Compute IP Mod/Ref information ------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // See high-level comments in include/llvm/Analysis/IPModRef.h
310 //
0 //===- Local.cpp - Compute a local data structure graph for a function ----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Compute the local version of the data structure graph for a function. The
310 // external interface to this file is the DSGraph constructor.
0 //===- MemoryDepAnalysis.cpp - Compute dep graph for memory ops --*-C++-*--===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a pass (MemoryDepAnalysis) that computes memory-based
310 // data dependences between instructions for each function in a module.
0 //===- Parallelize.cpp - Auto parallelization using DS Graphs -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a pass that automatically parallelizes a program,
310 // using the Cilk multi-threaded runtime system to execute parallel code.
0 //===- PgmDependenceGraph.cpp - Enumerate PDG for a function ----*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The Program Dependence Graph (PDG) for a single function represents all
310 // data and control dependences for the function. This file provides an
0 //===- Printer.cpp - Code for printing data structure graphs nicely -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the 'dot' graph printer.
310 //
0 //===- Steensgaard.cpp - Context Insensitive Alias Analysis ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass uses the data structure graphs to implement a simple context
310 // insensitive alias analysis. It does this by computing the local analysis
0 //===- TopDownClosure.cpp - Compute the top-down interprocedure closure ---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the TDDataStructures class, which represents the
310 // Top-down Interprocedural closure of the data structure graph over the
0 //===- Expressions.cpp - Expression Analysis Utilities --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a package of expression analysis utilties:
310 //
0 //===- CallGraph.cpp - Build a Module's call graph ------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This interface is used to build and manipulate a call graph, which is a very
310 // useful tool for interprocedural optimization.
0 //===- CallGraphSCCPass.cpp - Pass that operates BU on call graph ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the CallGraphSCCPass class, which is used for passes
310 // which are implemented as bottom-up traversals on the call graph. Because
0 //===- DependenceGraph.cpp - Dependence graph for a function ----*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements an explicit representation for the dependence graph
310 // of a function, with one node per instruction and one edge per dependence.
0 //===- FindUnsafePointerTypes.cpp - Check pointer usage safety ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a pass that can be used to determine, interprocedurally,
310 // which pointer types are accessed unsafely in a program. If there is an
0 //===- FindUsedTypes.cpp - Find all Types used by a module ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is used to seek out all of the types in use by the program.
310 //
0 //===- IPModRef.cpp - Compute IP Mod/Ref information ------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // See high-level comments in include/llvm/Analysis/IPModRef.h
310 //
0 //===- MemoryDepAnalysis.cpp - Compute dep graph for memory ops --*-C++-*--===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a pass (MemoryDepAnalysis) that computes memory-based
310 // data dependences between instructions for each function in a module.
0 //===- PgmDependenceGraph.cpp - Enumerate PDG for a function ----*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The Program Dependence Graph (PDG) for a single function represents all
310 // data and control dependences for the function. This file provides an
0 //===- PrintSCC.cpp - Enumerate SCCs in some key graphs -------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file provides passes to print out SCCs in a CFG or a CallGraph.
310 // Normally, you would not use these passes; instead, you would use the
0 //===- InductionVariable.cpp - Induction variable classification ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements identification and classification of induction
310 // variables. Induction variables must contain a PHI node that exists in a
0 //===-- InstCount.cpp - Collects the count of all instructions ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass collects the count of all instructions and reports them
310 //
0 //===- Interval.cpp - Interval class code ---------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the definition of the Interval class, which represents a
310 // partition of a control flow graph of some kind.
0 //===- IntervalPartition.cpp - Interval Partition module code -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the definition of the IntervalPartition class, which
310 // calculates and represent the interval partition of a function.
0 //===-- BBLiveVar.cpp - Live Variable Analysis for a BasicBlock -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This is a wrapper class for BasicBlock which is used by live var analysis.
310 //
0 //===-- FunctionLiveVarInfo.cpp - Live Variable Analysis for a Function ---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This is the interface to function level live variable information that is
310 // provided by live variable analysis.
None
0 //
1 // The LLVM Compiler Infrastructure
2 //
3 // This file was developed by the LLVM research group and is distributed under
4 // the University of Illinois Open Source License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
17 // FIXME: Eliminate this file.
28
39 #include "llvm/CodeGen/ValueSet.h"
0 //===- LoadValueNumbering.cpp - Load Value #'ing Implementation -*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a value numbering pass that value #'s load instructions.
310 // To do this, it finds lexically identical load instructions, and uses alias
0 //===- LoopInfo.cpp - Natural Loop Calculator -----------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the LoopInfo class that is used to identify natural loops
310 // and determine the loop depth of various nodes of the CFG. Note that the
0 //===- PostDominators.cpp - Post-Dominator Calculation --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the post-dominator construction algorithms.
310 //
0 //===- PrintSCC.cpp - Enumerate SCCs in some key graphs -------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file provides passes to print out SCCs in a CFG or a CallGraph.
310 // Normally, you would not use these passes; instead, you would use the
0 //===- ValueNumbering.cpp - Value #'ing Implementation ----------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the non-abstract Value Numbering methods as well as a
310 // default implementation for the analysis group.
0 //===- ArchiveReader.cpp - Code to read LLVM bytecode from .a files -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the ReadArchiveFile interface, which allows a linker to
310 // read all of the LLVM bytecode files contained in a .a file. This file
0 //===- Parser.cpp - Main dispatch module for the Parser library -------------===
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library implements the functionality defined in llvm/assembly/parser.h
310 //
0 //===- ArchiveReader.cpp - Code to read LLVM bytecode from .a files -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the ReadArchiveFile interface, which allows a linker to
310 // read all of the LLVM bytecode files contained in a .a file. This file
0 //===- ArchiveReader.cpp - Code to read LLVM bytecode from .a files -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the ReadArchiveFile interface, which allows a linker to
310 // read all of the LLVM bytecode files contained in a .a file. This file
0 //===- ReadConst.cpp - Code to constants and constant pools ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements functionality to deserialize constants and entire
310 // constant pools.
0 //===- ReadInst.cpp - Code to read an instruction from bytecode -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the mechanism to read an instruction from a bytecode
310 // stream.
0 //===- Reader.cpp - Code to read bytecode files ---------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library implements the functionality defined in llvm/Bytecode/Reader.h
310 //
0 //===- ReaderWrappers.cpp - Parse bytecode from file or buffer -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements loading and parsing a bytecode file and parsing a
310 // bytecode module from a given buffer.
0 //===-- ConstantWriter.cpp - Functions for writing constants --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the routines for encoding constants to a bytecode
310 // stream.
0 //===-- InstructionWriter.cpp - Functions for writing instructions --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the routines for encoding instruction opcodes to a
310 // bytecode stream.
0 //===-- SlotCalculator.cpp - Calculate what slots values land in ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a useful analysis step to figure out what numbered
310 // slots values in a program will land in (keeping track of per plane
0 //===-- Writer.cpp - Library for writing VM bytecode files ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library implements the functionality defined in llvm/Bytecode/Writer.h
310 //
0 //===- InstrScheduling.cpp - Generic Instruction Scheduling support -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the llvm/CodeGen/InstrScheduling.h interface, along with
310 // generic support routines for instruction scheduling.
0 //===- SchedGraph.cpp - Scheduling Graph Implementation -------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Scheduling graph based on SSA graph plus extra dependence edges capturing
310 // dependences due to machine resources (machine registers, CC registers, and
0 //===- SchedGraphCommon.cpp - Scheduling Graphs Base Class- ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Scheduling graph base class that contains common information for SchedGraph
310 // and ModuloSchedGraph scheduling graphs.
0 //===-- SchedPriorities.h - Encapsulate scheduling heuristics -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Strategy:
310 // Priority ordering rules:
0 //===-- InstrForest.cpp - Build instruction forest for inst selection -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The key goal is to group instructions into a single
310 // tree if one or more of them might be potentially combined into a single
0 //===- InstrSelection.cpp - Machine Independent Inst Selection Driver -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Machine-independent driver file for instruction selection. This file
310 // constructs a forest of BURG instruction trees and then uses the
0 //===-- InstrSelectionSupport.cpp -----------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Target-independent instruction selection code. See SparcInstrSelection.cpp
310 // for usage.
0 //===-- LiveVariables.cpp - Live Variable Analysis for Machine Code -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LiveVariable analysis pass. For each machine
310 // instruction in the function, this pass calculates the set of registers that
0 //===-- MachineCodeEmitter.cpp - Implement the MachineCodeEmitter itf -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the MachineCodeEmitter interface.
310 //
0 //===-- MachineCodeForInstruction.cpp -------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Representation of the sequence of machine instructions created for a single
310 // VM instruction. Additionally records information about hidden and implicit
0 //===-- MachineFunction.cpp -----------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Collect native machine code information for a function. This allows
310 // target-specific information about the generated code to be stored with each
0 //===-- MachineInstr.cpp --------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 //===----------------------------------------------------------------------===//
310
0 //===-- MachineInstrAnnot.cpp ---------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines Annotations used to pass information between code
310 // generation phases.
0 //===- ModuloSchedGraph.cpp - Modulo Scheduling Graph and Set -*- C++ -*---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Description here
310 //===----------------------------------------------------------------------===//
0 //===-- ModuloScheduling.cpp - Software Pipeling Approach - SMS -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The is a software pipelining pass based on the Swing Modulo Scheduling
310 // algorithm (SMS).
0 //===-- PhiElimination.cpp - Eliminate PHI nodes by inserting copies ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass eliminates machine instruction PHI nodes by inserting copy
310 // instructions. This destroys SSA information, but is the desired input for
0 //===-- Passes.cpp - Target independent code generation passes -*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines interfaces to access the target independent code
310 // generation passes provided by the LLVM backend.
0 //===-- PrologEpilogInserter.cpp - Insert Prolog/Epilog code in function --===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is responsible for finalizing the functions frame layout, saving
310 // callee saved registers, and for emitting prolog & epilog code for the
0 //===-- IGNode.cpp --------------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // class IGNode for coloring-based register allocation for LLVM.
310 //
0 //===-- InterferenceGraph.cpp ---------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Interference graph for coloring-based register allocation for LLVM.
310 //
0 //===-- LiveRangeInfo.cpp -------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Live range construction for coloring-based register allocation for LLVM.
310 //
0 //===-- PhyRegAlloc.cpp ---------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Traditional graph-coloring global register allocator currently used
310 // by the SPARC back-end.
0 //===-- RegClass.cpp -----------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // class RegClass for coloring-based register allocation for LLVM.
310 //
0 //===-- RegAllocLocal.cpp - A BasicBlock generic register allocator -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This register allocator allocates registers to a basic block at a time,
310 // attempting to keep values in registers and reusing registers as appropriate.
0 //===-- RegAllocSimple.cpp - A simple generic register allocator ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a simple register allocator. *Very* simple: It immediate
310 // spills every value right after it is computed, and it reloads all used
0 //===-- DAGBuilder.cpp - Turn an LLVM BasicBlock into a DAG for selection -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file turns an LLVM BasicBlock into a target independent SelectionDAG in
310 // preparation for target specific optimizations and instruction selection.
0 //===-- SelectionDAG.cpp - Implement the SelectionDAG* classes ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the SelectionDAG* classes, which are used to perform
310 // DAG-based instruction selection in a target-specific manner.
0 //===-- ExecutionEngine.cpp - Common Implementation shared by EEs ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the common interface used by the various execution engine
310 // subclasses.
0 //===-- Execution.cpp - Implement code to simulate the program ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the actual instruction interpreter.
310 //
0 //===-- ExternalFunctions.cpp - Implement External Functions --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains both code to deal with invoking "external" functions, but
310 // also contains code that implements "exported" external functions.
0 //===- Interpreter.cpp - Top-Level LLVM Interpreter Implementation --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the top-level functionality for the LLVM interpreter.
310 // This interpreter is designed to be a very simple, portable, inefficient
0 //===-- Intercept.cpp - System function interception routines -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // If a function call occurs to an external function, the JIT is designed to use
310 // the dynamic loader interface to find a function to call. This is useful for
0 //===-- JIT.cpp - LLVM Just in Time Compiler ------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the top-level support for creating a Just-In-Time
310 // compiler for the current architecture.
0 //===-- Emitter.cpp - Write machine code to executable memory -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a MachineCodeEmitter object that is used by Jello to write
310 // machine code to memory and remember where relocatable values lie.
0 //===-- VM.cpp - LLVM Just in Time Compiler -------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This tool implements a just-in-time compiler for LLVM, allowing direct
310 // execution of LLVM bytecode in an efficient manner.
0 //===- Linker.cpp - Module Linker Implementation --------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LLVM module linker.
310 //
0 //===-- Annotation.cpp - Implement the Annotation Classes -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the AnnotationManager class.
310 //
0 //===-- CommandLine.cpp - Command line parser implementation --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This class implements a command line argument processor that is useful when
310 // creating a tool. It provides a simple, minimalistic interface that is easily
0 //===-- ConstantRange.cpp - ConstantRange implementation ------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Represent a range of possible values that may occur when the program is run
310 // for an integral value. This keeps track of a lower and upper bound for the
0 //===-- Debug.cpp - An easy way to add debug output to your code ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a handle way of adding debugging information to your
310 // code, without it being enabled all of the time, and without having to add
0 //===-- DynamicLinker.cpp - Implement DynamicLinker interface -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Lightweight interface to dynamic library linking and loading, and dynamic
310 // symbol lookup functionality, in whatever form the operating system
0 //===- Support/FileUtilities.cpp - File System Utilities ------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a family of utility functions which are useful for doing
310 // various things with files.
0 //===-- LeakDetector.cpp - Implement LeakDetector interface ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LeakDetector class.
310 //
0 //===-- Mangler.cpp - Self-contained c/asm llvm name mangler --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Unified name mangler for CWriter and assembly backends.
310 //
0 //===-- PluginLoader.cpp - Implement -load command line option ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the -load command line option processor. When
310 // linked into a program, this new command line option is available that allows
0 //===- Signals.cpp - Signal Handling support ------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines some helpful functions for dealing with the possibility of
310 // Unix signals occuring while your program is running.
0 //===-- Statistic.cpp - Easy way to expose stats information --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the 'Statistic' class, which is designed to be an easy
310 // way to expose various success metrics from passes. These statistics are
0 //===- SystemUtils.h - Utilities to do low-level system stuff --*- C++ -*--===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains functions used to do a variety of low-level, often
310 // system-specific, tasks.
0 //===-- Timer.cpp - Interval Timing Support -------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Interval Timing implementation.
310 //
0 //===-- ToolRunner.cpp ----------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the interfaces described in the ToolRunner.h file.
310 //
0 //===-- ValueHolder.cpp - Wrapper for Value implementation ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This class defines a simple subclass of User, which keeps a pointer to a
310 // Value, which automatically updates when Value::replaceAllUsesWith is called.
0 //===-- Writer.cpp - Library for converting LLVM code to C ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library converts LLVM code to C code, compilable by GCC.
310 //
0 //===-- Writer.cpp - Library for converting LLVM code to C ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library converts LLVM code to C code, compilable by GCC.
310 //
0 //===- MRegisterInfo.cpp - Target Register Information Implementation -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the MRegisterInfo interface.
310 //
0 //===-- EmitBytecodeToAssembly.cpp - Emit bytecode to Sparc .s File --------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the pass that writes LLVM bytecode as data to a sparc
310 // assembly file. The bytecode gets assembled into a special bytecode section
0 //===- InstrScheduling.cpp - Generic Instruction Scheduling support -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the llvm/CodeGen/InstrScheduling.h interface, along with
310 // generic support routines for instruction scheduling.
0 //===- SchedGraph.cpp - Scheduling Graph Implementation -------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Scheduling graph based on SSA graph plus extra dependence edges capturing
310 // dependences due to machine resources (machine registers, CC registers, and
0 //===- SchedGraphCommon.cpp - Scheduling Graphs Base Class- ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Scheduling graph base class that contains common information for SchedGraph
310 // and ModuloSchedGraph scheduling graphs.
0 //===-- SchedPriorities.h - Encapsulate scheduling heuristics -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Strategy:
310 // Priority ordering rules:
0 //===-- InstrForest.cpp - Build instruction forest for inst selection -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The key goal is to group instructions into a single
310 // tree if one or more of them might be potentially combined into a single
0 //===- InstrSelection.cpp - Machine Independent Inst Selection Driver -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Machine-independent driver file for instruction selection. This file
310 // constructs a forest of BURG instruction trees and then uses the
0 //===-- InstrSelectionSupport.cpp -----------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Target-independent instruction selection code. See SparcInstrSelection.cpp
310 // for usage.
0 //===-- BBLiveVar.cpp - Live Variable Analysis for a BasicBlock -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This is a wrapper class for BasicBlock which is used by live var analysis.
310 //
0 //===-- FunctionLiveVarInfo.cpp - Live Variable Analysis for a Function ---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This is the interface to function level live variable information that is
310 // provided by live variable analysis.
None
0 //
1 // The LLVM Compiler Infrastructure
2 //
3 // This file was developed by the LLVM research group and is distributed under
4 // the University of Illinois Open Source License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
17 // FIXME: Eliminate this file.
28
39 #include "llvm/CodeGen/ValueSet.h"
0 //===- MappingInfo.cpp - create LLVM info and output to .s file ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains a FunctionPass called MappingInfoAsmPrinter,
310 // which creates two maps: one between LLVM Instructions and MachineInstrs
0 //===- ModuloSchedGraph.cpp - Modulo Scheduling Graph and Set -*- C++ -*---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Description here
310 //===----------------------------------------------------------------------===//
0 //===-- ModuloScheduling.cpp - Software Pipeling Approach - SMS -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The is a software pipelining pass based on the Swing Modulo Scheduling
310 // algorithm (SMS).
0 //===-- IGNode.cpp --------------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // class IGNode for coloring-based register allocation for LLVM.
310 //
0 //===-- InterferenceGraph.cpp ---------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Interference graph for coloring-based register allocation for LLVM.
310 //
0 //===-- LiveRangeInfo.cpp -------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Live range construction for coloring-based register allocation for LLVM.
310 //
0 //===-- PhyRegAlloc.cpp ---------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Traditional graph-coloring global register allocator currently used
310 // by the SPARC back-end.
0 //===-- RegClass.cpp -----------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // class RegClass for coloring-based register allocation for LLVM.
310 //
0 //===-- EmitAssembly.cpp - Emit Sparc Specific .s File ---------------------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements all of the stuff necessary to output a .s file from
310 // LLVM. The code in this file assumes that the specified module has already
0 //===-- SparcV9CodeEmitter.cpp --------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // SPARC-specific backend for emitting machine code to memory.
310 //
0 //===-- SparcInstrInfo.cpp ------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 //===----------------------------------------------------------------------===//
310
0 //===-- SparcInstrSelection.cpp -------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // BURS instruction selection for SPARC V9 architecture.
310 //
0 //===-- PeepholeOpts.cpp --------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Support for performing several peephole opts in one or a few passes over the
310 // machine code of a method.
0 //===- PreSelection.cpp - Specialize LLVM code for target machine ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the PreSelection pass which specializes LLVM code for a
310 // target machine, while remaining in legal portable LLVM form and
0 //===-- PrologEpilogCodeInserter.cpp - Insert Prolog & Epilog code for fn -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Insert SAVE/RESTORE instructions for the function
310 //
0 //===-- SparcRegClassInfo.cpp - Register class def'ns for Sparc -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the register classes used by the Sparc target description.
310 //
0 //===-- SparcRegInfo.cpp - Sparc Target Register Information --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains implementation of Sparc specific helper methods
310 // used for register allocation.
0 //===-- UltraSparcSchedInfo.cpp -------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Describe the scheduling characteristics of the UltraSparc
310 //
0 //===- StackSlots.cpp - Specialize LLVM code for target machine ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass adds 2 empty slots at the top of function stack. These two slots
310 // are later used during code reoptimization for spilling the register values
0 //===-- Sparc.cpp - General implementation file for the Sparc Target ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the code for the Sparc Target that does not fit in any of
310 // the other files in this directory.
0 //===-- TargetData.cpp - Data size & alignment routines --------------------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines target properties related to datatype size/offset/alignment
310 // information. It uses lazy annotations to cache information about how
0 //===-- TargetInstrInfo.cpp - Target Instruction Information --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 //
310 //===----------------------------------------------------------------------===//
0 //===-- TargetMachine.cpp - General Target Information ---------------------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file describes the general parts of a Target machine.
310 // This file also implements TargetCacheInfo.
0 //===-- SchedInfo.cpp - Generic code to support target schedulers ----------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the generic part of a Scheduler description for a
310 // target. This functionality is defined in the llvm/Target/SchedInfo.h file.
0 //===-- FloatingPoint.cpp - Floating point Reg -> Stack converter ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the pass which converts floating point instructions from
310 // virtual registers into register stack instructions.
0 //===-- InstSelectPattern.cpp - A pattern matching inst selector for X86 --===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a pattern matching instruction selector for X86.
310 //
0 //===-- InstSelectSimple.cpp - A simple instruction selector for x86 ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a simple peephole instruction selector for the x86 target
310 //
0 //===-- PeepholeOptimizer.cpp - X86 Peephole Optimizer --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains a peephole optimizer for the X86.
310 //
0 //===-- X86/Printer.cpp - Convert X86 LLVM code to Intel assembly ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains a printer that converts from our internal
310 // representation of machine-dependent LLVM code to Intel-format
0 //===-- X86/Printer.cpp - Convert X86 LLVM code to Intel assembly ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains a printer that converts from our internal
310 // representation of machine-dependent LLVM code to Intel-format
0 //===-- X86/X86CodeEmitter.cpp - Convert X86 code to machine code ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the pass that transforms the X86 machine instructions into
310 // actual executable machine code.
0 //===-- FloatingPoint.cpp - Floating point Reg -> Stack converter ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the pass which converts floating point instructions from
310 // virtual registers into register stack instructions.
0 //===-- InstSelectPattern.cpp - A pattern matching inst selector for X86 --===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a pattern matching instruction selector for X86.
310 //
0 //===-- InstSelectSimple.cpp - A simple instruction selector for x86 ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines a simple peephole instruction selector for the x86 target
310 //
0 //===- X86InstrInfo.cpp - X86 Instruction Information -----------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the X86 implementation of the TargetInstrInfo class.
310 //
0 //===-- PeepholeOptimizer.cpp - X86 Peephole Optimizer --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains a peephole optimizer for the X86.
310 //
0 //===- X86RegisterInfo.cpp - X86 Register Information -----------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file contains the X86 implementation of the MRegisterInfo class. This
310 // file is responsible for the frame pointer elimination optimization on X86.
0 //===-- X86TargetMachine.cpp - Define TargetMachine for the X86 -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the X86 specific subclass of TargetMachine.
310 //
0 //===- ExprTypeConvert.cpp - Code to change an LLVM Expr Type -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the part of level raising that checks to see if it is
310 // possible to coerce an entire expression tree into a different type. If
0 //===- Hello.cpp - Example code from "Writing an LLVM Pass" ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements two versions of the LLVM "Hello World" pass described
310 // in docs/WritingAnLLVMPass.html
0 //===- ConstantMerge.cpp - Merge duplicate global constants ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the interface to a pass that merges duplicate global
310 // constants together into a single constant that is shared. This is useful
0 //===-- DeadArgumentElimination.cpp - Eliminate dead arguments ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass deletes dead arguments from internal functions. Dead argument
310 // elimination removes arguments which are directly dead, as well as arguments
0 //===- DeadTypeElimination.cpp - Eliminate unused types for symbol table --===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is used to cleanup the output of GCC. It eliminate names for types
310 // that are unused in the entire translation unit, using the FindUsedTypes pass.
0
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 #include "llvm/Transforms/IPO.h"
29 #include "llvm/Pass.h"
310 #include "llvm/Module.h"
0 //===- FunctionResolution.cpp - Resolve declarations to implementations ---===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Loop over the functions that are in the module and look for functions that
310 // have the same name. More often than not, there will be things like:
0 //===-- GlobalDCE.cpp - DCE unreachable internal functions ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This transform is designed to eliminate unreachable internal globals from the
310 // program. It uses an aggressive algorithm, searching out globals that are
0 //===- InlineSimple.cpp - Code to perform simple function inlining --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements bottom-up inlining of functions into callees.
310 //
0 //===- InlineCommon.cpp - Code common to all inliners ---------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the code shared between the LLVM inliners. This
310 // implements all of the boring mechanics of the bottom-up inlining.
0 //===-- Internalize.cpp - Mark functions internal -------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass loops over all of the functions in the input module, looking for a
310 // main function. If a main function is found, all other functions and all
0 //===- LowerSetJmp.cpp - Code pertaining to lowering set/long jumps -------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the lowering of setjmp and longjmp to use the
310 // LLVM invoke and unwind instructions as necessary.
0 //===- MutateStructTypes.cpp - Change struct defns ------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is used to change structure accesses and type definitions in some
310 // way. It can be used to arbitrarily permute structure fields, safely, without
0 //===- Parallelize.cpp - Auto parallelization using DS Graphs -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a pass that automatically parallelizes a program,
310 // using the Cilk multi-threaded runtime system to execute parallel code.
0 //===- PruneEH.cpp - Pass which deletes unused exception handlers ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a simple interprocedural pass which walks the
310 // call-graph, turning invoke instructions into calls, iff the callee cannot
0 //===- RaiseAllocations.cpp - Convert %malloc & %free calls to insts ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the RaiseAllocations pass which convert malloc and free
310 // calls to malloc and free instructions.
0 //===- SimpleStructMutation.cpp - Swap structure elements around ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass does a simple transformation that swaps all of the elements of the
310 // struct types in the program around.
0 //===-- EmitFunctions.cpp - interface to insert instrumentation -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This inserts a global constant table with function pointers all along
310 //
0 //===-- CombineBranch.cpp -------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Pass to instrument loops
310 //
0 //===-- EdgeCode.cpp - generate LLVM instrumentation code -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //It implements the class EdgeCode: which provides
29 //support for inserting "appropriate" instrumentation at
310 //designated points in the graph
0 //===-- Graph.cpp - Implements Graph class --------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This implements Graph for helping in trace generation This graph gets used by
310 // "ProfilePaths" class.
0 //===- GraphAuxiliary.cpp - Auxiliary functions on graph ------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // auxiliary function associated with graph: they all operate on graph, and help
310 // in inserting instrumentation for trace generation
0 //===-- InstLoops.cpp -----------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Pass to instrument loops
310 //
0 //===-- ProfilePaths.cpp - interface to insert instrumentation --*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This inserts instrumentation for counting execution of paths though a given
310 // function Its implemented as a "Function" Pass, and called using opt
0 //===- RetracePath.cpp ----------------------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Retraces a path of BasicBlock, given a path number and a graph!
310 //
0 //===- TraceValues.cpp - Value Tracing for debugging ----------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Support for inserting LLVM code to print values at basic block and function
310 // exits.
0 //===- LevelRaise.cpp - Code to change LLVM to higher level ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the 'raising' part of the LevelChange API. This is
310 // useful because, in general, it makes the LLVM code terser and easier to
0 //===- ADCE.cpp - Code to perform aggressive dead code elimination --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements "aggressive" dead code elimination. ADCE is DCe where
310 // values are assumed to be dead until proven otherwise. This is similar to
0 //===- ConstantProp.cpp - Code to perform Simple Constant Propagation -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements constant propagation and merging:
310 //
0 //===- CorrelatedExprs.cpp - Pass to detect and eliminated c.e.'s ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Correlated Expression Elimination propagates information from conditional
310 // branches to blocks dominated by destinations of the branch. It propagates
0 //===- DCE.cpp - Code to perform dead code elimination --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements dead inst elimination and dead code elimination.
310 //
0 //===- llvm/Transforms/DecomposeMultiDimRefs.cpp - Lower array refs to 1D -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // DecomposeMultiDimRefs - Convert multi-dimensional references consisting of
310 // any combination of 2 or more array and structure indices into a sequence of
0 //===-- GCSE.cpp - SSA based Global Common Subexpr Elimination ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is designed to be a very quick global transformation that
310 // eliminates global common subexpressions from a function. It does this by
0 //===- IndVarSimplify.cpp - Induction Variable Elimination ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Guarantees that all loops with identifiable, linear, induction variables will
310 // be transformed to have a single, canonical, induction variable. After this
0 //===- InstructionCombining.cpp - Combine multiple instructions -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // InstructionCombining - Combine instructions to form fewer, simple
310 // instructions. This pass does not modify the CFG This pass is where algebraic
0 //===-- LICM.cpp - Loop Invariant Code Motion Pass ------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is a simple loop invariant code motion pass. An interesting aspect
310 // of this pass is that it uses alias analysis for two purposes:
0 //===- PRE.cpp - Partial Redundancy Elimination ---------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the well-known Partial Redundancy Elimination
310 // optimization, using an SSA formulation based on e-paths. See this paper for
0 //===- PiNodeInsertion.cpp - Insert Pi nodes into a program ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // PiNodeInsertion - This pass inserts single entry Phi nodes into basic blocks
310 // that are preceded by a conditional branch, where the branch gives
0 //===- Reassociate.cpp - Reassociate binary expressions -------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass reassociates commutative expressions in an order that is designed
310 // to promote better constant propagation, GCSE, LICM, PRE...
0 //===- SCCP.cpp - Sparse Conditional Constant Propagation -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements sparse conditional constant propagation and merging:
310 //
0 //===- ScalarReplAggregates.cpp - Scalar Replacement of Aggregates --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This transformation implements the well known scalar replacement of
310 // aggregates transformation. This xform breaks up alloca instructions of
0 //===- SimplifyCFG.cpp - CFG Simplification Pass --------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements dead code elimination and basic block merging.
310 //
0 //===- SymbolStripping.cpp - Strip symbols for functions and modules ------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements stripping symbols out of symbol tables.
310 //
0 //===- TailDuplication.cpp - Simplify CFG through tail duplication --------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass performs a limited form of tail duplication, intended to simplify
310 // CFGs by removing some unconditional branches. This pass is necessary to
0 //===- TailRecursionElimination.cpp - Eliminate Tail Calls ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements tail recursion elimination.
310 //
0 //===- TransformInternals.cpp - Implement shared functions for transforms -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines shared functions used by the different components of the
310 // Transforms library.
0 //===-- BasicBlockUtils.cpp - BasicBlock Utilities -------------------------==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This family of functions perform manipulations on basic blocks, and
310 // instructions contained within basic blocks.
0 //===- BreakCriticalEdges.cpp - Critical Edge Elimination Pass ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // BreakCriticalEdges pass - Break all of the critical edges in the CFG by
310 // inserting a dummy basic block. This pass may be "required" by passes that
0 //===- CloneFunction.cpp - Clone a function into another function ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the CloneFunctionInto interface, which is used as the
310 // low-level function cloner. This is used by the CloneFunction and function
0 //===- CloneModule.cpp - Clone an entire module ---------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the CloneModule interface which makes a copy of an
310 // entire module.
0 //===- CloneTrace.cpp - Clone a trace -------------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the CloneTrace interface, which is used
310 // when writing runtime optimizations. It takes a vector of basic blocks
0 //===- DemoteRegToStack.cpp - Move a virtual reg. to stack ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file provide the function DemoteRegToStack(). This function takes a
310 // virtual register computed by an Instruction& X and replaces it with a slot in
0 //===- InlineFunction.cpp - Code to perform function inlining -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements inlining of a function into a call site, resolving
310 // parameters and the return value as appropriate.
0 //===- Linker.cpp - Module Linker Implementation --------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LLVM module linker.
310 //
0 //===-- Local.cpp - Functions to perform local transformations ------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This family of functions perform various local transformations to the
310 // program.
0 //===- LoopSimplify.cpp - Loop Canonicalization Pass ----------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass performs several transformations to transform natural loops into a
310 // simpler form, which makes subsequent analyses and transformations simpler and
0 //===- LowerAllocations.cpp - Reduce malloc & free insts to calls ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The LowerAllocations transformation is a target dependent tranformation
310 // because it depends on the size of data types and alignment constraints.
0 //===- LowerInvoke.cpp - Eliminate Invoke & Unwind instructions -----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This transformation is designed for use by code generators which do not yet
310 // support stack unwinding. This pass gives them the ability to execute any
0 //===- LowerSwitch.cpp - Eliminate Switch instructions --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // The LowerSwitch transformation rewrites switch statements with a sequence of
310 // branches, which allows targets to get away with not implementing the switch
0 //===- Mem2Reg.cpp - The -mem2reg pass, a wrapper around the Utils lib ----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is a simple pass wrapper around the PromoteMemToReg function call
310 // exposed by the Utils library.
0 //===- PromoteMemoryToRegister.cpp - Convert allocas to registers ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file promote memory references to be register references. It promotes
310 // alloca instructions which only have loads and stores as uses. An alloca is
0 //===- SimplifyCFG.cpp - Code to perform CFG simplification ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Peephole optimize the CFG.
310 //
0 //===- UnifyFunctionExitNodes.cpp - Make all functions have a single exit -===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This pass is used to ensure that functions have at most one return
310 // instruction in them. Additionally, it keeps track of which node is the new
0 //===- ValueMapper.cpp - Interface shared by lib/Transforms/Utils ---------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the MapValue function, which is shared by various parts of
310 // the lib/Transforms/Utils library.
0 //===-- AsmWriter.cpp - Printing LLVM as an assembly file -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This library implements the functionality defined in llvm/Assembly/Writer.h
310 //
0 //===-- BasicBlock.cpp - Implement BasicBlock related methods -------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the BasicBlock class for the VMCore library.
310 //
0 //===- ConstantHandling.cpp - Implement ConstantHandling.h ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the various intrinsic operations, on constant values.
310 //
0 //===-- ConstantRange.cpp - ConstantRange implementation ------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Represent a range of possible values that may occur when the program is run
310 // for an integral value. This keeps track of a lower and upper bound for the
0 //===-- Constants.cpp - Implement Constant nodes --------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Constant* classes...
310 //
0 //===- Dominators.cpp - Dominator Calculation -----------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements simple dominator construction algorithms for finding
310 // forward dominators. Postdominators are available in libanalysis, but are not
0 //===-- Function.cpp - Implement the Global object classes ----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Function & GlobalVariable classes for the VMCore
310 // library.
0 //===-- InstrTypes.cpp - Implement Instruction subclasses -------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements
310 //
0 //===-- Instruction.cpp - Implement the Instruction class -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Instruction class for the VMCore library.
310 //
0 //===-- LeakDetector.cpp - Implement LeakDetector interface ---------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LeakDetector class.
310 //
0 //===- Linker.cpp - Module Linker Implementation --------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LLVM module linker.
310 //
0 //===-- Mangler.cpp - Self-contained c/asm llvm name mangler --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Unified name mangler for CWriter and assembly backends.
310 //
0 //===-- Module.cpp - Implement the Module class ---------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Module class for the VMCore library.
310 //
0 //===-- ModuleProvider.cpp - Base implementation for module providers -----===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // Minimal implementation of the abstract interface for providing a module.
310 //
0 //===- Pass.cpp - LLVM Pass Infrastructure Implementation -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the LLVM Pass infrastructure. It is primarily
310 // responsible with ensuring that passes are executed and batched together
0 //===-- SlotCalculator.cpp - Calculate what slots values land in ----------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements a useful analysis step to figure out what numbered
310 // slots values in a program will land in (keeping track of per plane
0 //===-- SymbolTable.cpp - Implement the SymbolTable class -----------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the SymbolTable class for the VMCore library.
310 //
0 //===-- Type.cpp - Implement the Type class -------------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Type class for the VMCore library.
310 //
0 //===-- Value.cpp - Implement the Value class -----------------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the Value and User classes.
310 //
0 //===-- Verifier.cpp - Implement the Module Verifier -------------*- C++ -*-==//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file defines the function verifier interface, that can be used for some
310 // sanity checking of input to the system.
0 //===-- iBranch.cpp - Implement the Branch instruction --------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the 'br' instruction, which can represent either a
310 // conditional or unconditional branch.
0 //===-- iCall.cpp - Implement the call & invoke instructions --------------===//
1 //
2 // The LLVM Compiler Infrastructure
3 //
4 // This file was developed by the LLVM research group and is distributed under
5 // the University of Illinois Open Source License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
18 //
29 // This file implements the call and invoke instructions.
310 //
0 //===-- iMemory.cpp - Implement Memory instructions -----------------------===//
1 //
2 // The LLVM Compiler Infrastructure
3