llvm.org GIT mirror llvm / 856ba76
Added LLVM copyright header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8 John Criswell 16 years ago
52 changed file(s) with 361 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 //===- DSCallSiteIterator.h - Iterator for DSGraph call sites ---*- 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 iterator for complete call sites in DSGraphs. This
310 // code can either iterator over the normal call list or the aux calls list, and
0 //===-- BBLiveVar.h - Live Variable Analysis for a BasicBlock ---*- 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 is a BasicBlock annotation class that is used by live var analysis to
310 // hold data flow information for a basic block.
0 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- 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 flex scanner for LLVM assembly languages files.
310 //
0 //===-- ParserInternals.h - Definitions internal to the parser --*- 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 header file defines the various variables that are shared among the
310 // different components of the parser...
0 //===-- llvmAsmParser.y - Parser for llvm assembly files --------*- 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 bison parser for LLVM assembly languages files.
310 //
0 //===-- ReaderInternals.h - Definitions internal to the reader --*- 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 header file defines various stuff that is used by the bytecode reader.
310 //
0 //===- WriterInternals.h - Data structures shared by the Writer -*- 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 header defines the interface used between components of the bytecode
310 // writer.
0 //===-- SchedGraph.h - Scheduling Graph -------------------------*- 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 is a scheduling graph based on SSA graph plus extra dependence edges
310 // capturing dependences due to machine resources (machine registers, CC
0 //===-- SchedPriorities.h - Encapsulate scheduling heuristics --*- 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 // Strategy:
310 // Priority ordering rules:
0 //===- ModuloSchedGraph.h - Modulo Scheduling Graph and Set -*- C++ -*-----===//
11 //
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 //===----------------------------------------------------------------------===//
8 //
9 // TODO: Need a description here.
210 //
311 //===----------------------------------------------------------------------===//
412
0 //===-- LiveRange.h - Store info about a live range -------------*- 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 // Implements a live range using a ValueSet. A LiveRange is a simple set
310 // of Values.
0 //===-- LiveRangeInfo.h - Track all LiveRanges 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 contains the class LiveRangeInfo which constructs and keeps
310 // the LiveRangeMap which contains all the live ranges used in a method.
0 //===-- PhyRegAlloc.h - Graph Coloring Register Allocator -------*- 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 is the main entry point for register allocation.
310 //
0 //===-- RegAllocCommon.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 // Shared declarations for register allocation.
310 //
0 //===-- ExecutionAnnotations.h ---------------------------------*- 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 header file defines annotations used by the execution engine.
310 //
0 //===-- Interpreter.h ------------------------------------------*- 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 header file defines the interpreter structure
310 //
0 //===-- VM.h - Definitions for Virtual Machine ------------------*- 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 top-level Virtual Machine data structure.
310 //
0 //===-- VM.h - Definitions for Virtual Machine ------------------*- 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 top-level Virtual Machine data structure.
310 //
0 //===-- SchedGraph.h - Scheduling Graph -------------------------*- 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 is a scheduling graph based on SSA graph plus extra dependence edges
310 // capturing dependences due to machine resources (machine registers, CC
0 //===-- SchedPriorities.h - Encapsulate scheduling heuristics --*- 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 // Strategy:
310 // Priority ordering rules:
0 //===-- BBLiveVar.h - Live Variable Analysis for a BasicBlock ---*- 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 is a BasicBlock annotation class that is used by live var analysis to
310 // hold data flow information for a basic block.
0 //===- lib/Target/Sparc/MappingInfo.h ---------------------------*- 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 // Data structures to support the Reoptimizer's Instruction-to-MachineInstr
310 // mapping information gatherer.
0 //===- ModuloSchedGraph.h - Modulo Scheduling Graph and Set -*- C++ -*-----===//
11 //
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 //===----------------------------------------------------------------------===//
8 //
9 // TODO: Need a description here.
210 //
311 //===----------------------------------------------------------------------===//
412
0 //===-- LiveRange.h - Store info about a live range -------------*- 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 // Implements a live range using a ValueSet. A LiveRange is a simple set
310 // of Values.
0 //===-- LiveRangeInfo.h - Track all LiveRanges 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 contains the class LiveRangeInfo which constructs and keeps
310 // the LiveRangeMap which contains all the live ranges used in a method.
0 //===-- PhyRegAlloc.h - Graph Coloring Register Allocator -------*- 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 is the main entry point for register allocation.
310 //
0 //===-- RegAllocCommon.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 // Shared declarations for register allocation.
310 //
0 //===- SparcV9.td - Target Description for Sparc V9 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 //===----------------------------------------------------------------------===//
8 //
9 // TODO: Need a description here.
110 //
211 //===----------------------------------------------------------------------===//
312
0 //===-- SparcV9CodeEmitter.h ------------------------------------*- C++ -*-===//
11 //
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 //===----------------------------------------------------------------------===//
8 //
9 // TODO: Need a description here.
210 //
311 //===----------------------------------------------------------------------===//
412
0 //===-- SparcInstr.def - Sparc 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 describes all of the instructions that the sparc backend uses. It
310 // relys on an external 'I' macro being defined that takes the arguments
0 //===-- llvm/CodeGen/SparcInstrSelectionSupport.h ---------------*- C++ -*-===//
1 //
2 // The LLVM Compiler Infrastructure
13 //
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 //===----------------------------------------------------------------------===//
28 //
9 // TODO: Need a description here.
310 //
411 //===----------------------------------------------------------------------===//
512
0 //===-- SparcInternals.h ----------------------------------------*- 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 stuff that is to be private to the Sparc backend, but is
310 // shared among different portions of the backend.
0 //===-- SparcRegClassInfo.h - Register class def'ns for Sparc ---*- 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 register classes used by the Sparc target description.
310 //
0 //===- SparcV9_F2.td - Format 2 instructions: Sparc V9 Target -------------===//
1 //
2 // The LLVM Compiler Infrastructure
13 //
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 //
27 //===----------------------------------------------------------------------===//
38
49 //===----------------------------------------------------------------------===//
0 //===- SparcV9_F3.td - Format 3 Instructions: Sparc V9 Target -------------===//
1 //
2 // The LLVM Compiler Infrastructure
13 //
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 //
27 //===----------------------------------------------------------------------===//
38
49 //===----------------------------------------------------------------------===//
0 //===- SparcV9_F4.td - Format 4 instructions: Sparc V9 Target -------------===//
1 //
2 // The LLVM Compiler Infrastructure
13 //
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 //
27 //===----------------------------------------------------------------------===//
38
49 //----------------------- F4 classes -----------------------------------------
0 //===- SparcV9_Reg.td - Sparc V9 Register definitions ---------------------===//
1 //
2 // The LLVM Compiler Infrastructure
13 //
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 //
27 //===----------------------------------------------------------------------===//
38
49 //===----------------------------------------------------------------------===//
0 //===- Target.td - Target Independent TableGen interface --------*- 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 target-independent interfaces which should be
310 // implemented by each target which is using a TableGen based code generator.
0 //===-- X86.h - Top-level interface for X86 representation ------*- 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 entry points for global functions defined in the x86
310 // target library, as used by the LLVM JIT.
0 //===- X86.td - Target definition file for the Intel X86 arch ---*- 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 is a target description file for the Intel i386 architecture, refered to
310 // here as the "X86" architecture.
0 //===-- X86InstrBuilder.h - Functions to aid building x86 insts -*- 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 exposes functions that may be used with BuildMI from the
310 // MachineInstrBuilder.h file to handle X86'isms in a clean way.
0 //===- X86InstructionInfo.h - 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 //===- X86InstrInfo.td - Describe the X86 Instruction 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 // This file describes the X86 instruction set, defining the instructions, and
310 // properties of the instructions which are needed for code generation, machine
0 //===- X86RegisterInfo.h - X86 Register Information 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 contains the X86 implementation of the MRegisterInfo class.
310 //
0 //===- X86RegisterInfo.td - Describe the X86 Register File ------*- 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 describes the X86 Register file, defining the registers themselves,
310 // aliases between the registers, and the register classes built out of the
0 //===-- X86TargetMachine.h - Define TargetMachine for the X86 ---*- 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 declares the X86 specific subclass of TargetMachine.
310 //
0 //===- InlineCommon.h - Code common to all inliners -------------*- 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 a simple policy-based bottom-up inliner. This file
310 // implements all of the boring mechanics of the bottom-up inlining, while the
0 //===-- Graph.h -------------------------------------------------*- 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 // Header file for Graph: This Graph is used by PathProfiles class, and is used
310 // for detecting proper points in cfg for code insertion
0 //===-- TransformInternals.h - Shared functions for Transforms --*- 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 header file declares shared functions used by the different components
310 // of the Transforms library.
0 //===- ValueMapper.h - Interface shared by lib/Transforms/Utils -*- 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 MapValue interface which is used by various parts of
310 // the Transforms/Utils library to implement cloning and linking facilities.
0 //===- PassManagerT.h - Container for 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 the PassManagerT class. This class is used to hold,
310 // maintain, and optimize execution of Pass's. The PassManager class ensures
0 //===-- llvm/SymbolTableListTraitsImpl.h - 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 stickier parts of the SymbolTableListTraits class,
310 // and is explicitly instantiated where needed to avoid defining all this code