llvm.org GIT mirror llvm / 4848689
Standardize header file comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 16 years ago
109 changed file(s) with 137 addition(s) and 155 deletion(s). Raw diff Collapse all Expand all
None //===-- BitVectorSet.h - A bit-vector representation of sets -----*- C++ -*--=//
0 //===-- BitVectorSet.h - A bit-vector representation of sets ----*- C++ -*-===//
11 //
2 // class BitVectorSet --
3 //
4 // An implementation of the bit-vector representation of sets.
5 // Unlike vector, this allows much more efficient parallel set
6 // operations on bits, by using the bitset template . The bitset template
7 // unfortunately can only represent sets with a size chosen at compile-time.
8 // We therefore use a vector of bitsets. The maxmimum size of our sets
9 // (i.e., the size of the universal set) can be chosen at creation time.
2 // This is an implementation of the bit-vector representation of sets. Unlike
3 // vector, this allows much more efficient parallel set operations on
4 // bits, by using the bitset template. The bitset template unfortunately can
5 // only represent sets with a size chosen at compile-time. We therefore use a
6 // vector of bitsets. The maxmimum size of our sets (i.e., the size of the
7 // universal set) can be chosen at creation time.
108 //
119 // External functions:
1210 //
None //===-- Support/Casting.h - Allow flexible, checked, casts -------*- C++ -*--=//
0 //===-- Support/Casting.h - Allow flexible, checked, casts ------*- C++ -*-===//
11 //
22 // This file defines the isa(), cast(), dyn_cast(), cast_or_null(),
33 // and dyn_cast_or_null() templates.
None //===- Support/CommandLine.h - Flexible Command line parser ------*- C++ -*--=//
0 //===- Support/CommandLine.h - Flexible Command line parser -----*- C++ -*-===//
11 //
22 // This class implements a command line argument processor that is useful when
33 // creating a tool. It provides a simple, minimalistic interface that is easily
None //===-- Support/DotGraphTraits.h - Customize .dot output -------*- C++ -*--===//
0 //===-- Support/DotGraphTraits.h - Customize .dot output --------*- C++ -*-===//
11 //
22 // This file defines a template class that can be used to customize dot output
33 // graphs generated by the GraphWriter.h file. The default implementation of
None //===-- include/Support/DataTypes.h - Define fixed size types ----*- C++ -*--=//
0 //===-- include/Support/DataTypes.h - Define fixed size types ---*- C++ -*-===//
11 //
22 // This file contains definitions to figure out the size of _HOST_ data types.
33 // This file is important because different host OS's define different macros,
None //===- Support/DepthFirstIterator.h - Depth First iterator -------*- C++ -*--=//
0 //===- Support/DepthFirstIterator.h - Depth First iterator ------*- C++ -*-===//
11 //
22 // This file builds on the Support/GraphTraits.h file to build generic depth
33 // first graph iterator.
None //===-- Support/EquivalenceClasses.h -------------------------*- C++ -*--=//
0 //===-- Support/EquivalenceClasses.h ----------------------------*- C++ -*-===//
11 //
2 // Generic implementation of equivalence classes and implementation of
3 // union-find algorithms
4 // A not-so-fancy implementation: 2 level tree i.e root and one more level
5 // Overhead of a union = size of the equivalence class being attached
6 // Overhead of a find = 1.
2 // Generic implementation of equivalence classes and implementation of
3 // union-find algorithms A not-so-fancy implementation: 2 level tree i.e root
4 // and one more level Overhead of a union = size of the equivalence class being
5 // attached Overhead of a find = 1.
76 //
8 //===------------------------------------------------------------------===//
7 //===----------------------------------------------------------------------===//
98
109 #ifndef SUPPORT_EQUIVALENCECLASSES_H
1110 #define SUPPORT_EQUIVALENCECLASSES_H
6766 return EqClass;
6867
6968 ElemTy classLeader = Elem2ECLeaderMap[Element1];
70
7169 for (typename std::map::iterator ElemI =
7270 Elem2ECLeaderMap.begin(), ElemE = Elem2ECLeaderMap.end();
7371 ElemI != ElemE; ++ElemI) {
7674 }
7775
7876 return EqClass;
79
8077 }
8178
8279 std::map& getLeaderMap() {
8380 return Elem2ECLeaderMap ;
8481 }
85
8682 };
8783
8884 #endif
None //===-- Support/GraphTraits.h - Graph traits template ------------*- C++ -*--=//
0 //===-- Support/GraphTraits.h - Graph traits template -----------*- C++ -*-===//
11 //
22 // This file defines the little GraphTraits template class that should be
33 // specialized by classes that want to be iteratable by generic graph iterators.
None //===-- Support/GraphWriter.h - Write a graph to a .dot file ---*- C++ -*--===//
0 //===-- Support/GraphWriter.h - Write a graph to a .dot file ----*- C++ -*-===//
11 //
22 // This file defines a simple interface that can be used to print out generic
33 // LLVM graphs to ".dot" files. "dot" is a tool that is part of the AT&T
None //===-- HashExtras.h - Useful functions for STL hash containers --*- C++ -*--=//
0 //===-- HashExtras.h - Useful functions for STL hash containers -*- C++ -*-===//
11 //
22 // This file contains some templates that are useful if you are working with the
33 // STL Hashed containers.
None //===-- Support/MathExtras.h - Useful math functions -------------*- C++ -*--=//
0 //===-- Support/MathExtras.h - Useful math functions ------------*- C++ -*-===//
11 //
22 // This file contains some functions that are useful for math stuff.
33 //
None //===-- Support/PostOrderIterator.h - Generic PostOrder iterator -*- C++ -*--=//
0 //===- Support/PostOrderIterator.h - Generic PostOrder iterator -*- C++ -*-===//
11 //
22 // This file builds on the Support/GraphTraits.h file to build a generic graph
33 // post order iterator. This should work over any graph type that has a
None //===-- STLExtras.h - Useful functions when working with the STL -*- C++ -*--=//
0 //===- STLExtras.h - Useful functions when working with the STL -*- C++ -*-===//
11 //
22 // This file contains some templates that are useful if you are working with the
33 // STL at all.
None //===-- Support/SetOperations.h - Generic Set Operations ---------*- C++ -*--=//
0 //===-- Support/SetOperations.h - Generic Set Operations --------*- C++ -*-===//
11 //
22 // This file defines generic set operations that may be used on set's of
33 // different types, and different element types.
None //===- Support/Signals.h - Signal Handling support -------------*- C++ -*-===//
0 //===- Support/Signals.h - Signal Handling support --------------*- C++ -*-===//
11 //
22 // This file defines some helpful functions for dealing with the possibility of
33 // unix signals occuring while your program is running.
None //===-- Support/StringExtras.h - Useful string functions ---------*- C++ -*--=//
0 //===-- Support/StringExtras.h - Useful string functions --------*- C++ -*-===//
11 //
22 // This file contains some functions that are useful when dealing with strings.
33 //
None //===- SystemUtils.h - Utilities to do low-level system stuff --*- C++ -*--===//
0 //===- SystemUtils.h - Utilities to do low-level system stuff ---*- C++ -*-===//
11 //
22 // This file contains functions used to do a variety of low-level, often
33 // system-specific, tasks.
None //===- Support/Tree.h - Generic n-way tree structure -------------*- C++ -*--=//
0 //===- Support/Tree.h - Generic n-way tree structure ------------*- C++ -*-===//
11 //
22 // This class defines a generic N way tree node structure. The tree structure
33 // is immutable after creation, but the payload contained within it is not.
None //===- Support/TypeInfo.h - Support class for type_info objects --*- C++ -*--=//
0 //===- Support/TypeInfo.h - Support class for type_info objects -*- C++ -*-===//
11 //
22 // This class makes std::type_info objects behave like first class objects that
33 // can be put in maps and hashtables. This code is based off of code in the
0 //===-- Support/hash_map - "Portable" wrapper around hash_map ---*- C++ -*-===//
1 // vim:ft=cpp
21 //
32 // This file provides a wrapper around the mysterious header file
43 // that seems to move around between GCC releases into and out of namespaces at
None //===-- - Intrusive Linked List Template ---------*- C++ -*--=//
0 //===-- Support/ilist - Intrusive Linked List Template ----------*- C++ -*-===//
11 //
22 // This file defines classes to implement an intrusive doubly linked list class
33 // (ie each node of the list must contain a next and previous field for the
None //===-- BitVectorSet.h - A bit-vector representation of sets -----*- C++ -*--=//
0 //===-- BitVectorSet.h - A bit-vector representation of sets ----*- C++ -*-===//
11 //
2 // class BitVectorSet --
3 //
4 // An implementation of the bit-vector representation of sets.
5 // Unlike vector, this allows much more efficient parallel set
6 // operations on bits, by using the bitset template . The bitset template
7 // unfortunately can only represent sets with a size chosen at compile-time.
8 // We therefore use a vector of bitsets. The maxmimum size of our sets
9 // (i.e., the size of the universal set) can be chosen at creation time.
2 // This is an implementation of the bit-vector representation of sets. Unlike
3 // vector, this allows much more efficient parallel set operations on
4 // bits, by using the bitset template. The bitset template unfortunately can
5 // only represent sets with a size chosen at compile-time. We therefore use a
6 // vector of bitsets. The maxmimum size of our sets (i.e., the size of the
7 // universal set) can be chosen at creation time.
108 //
119 // External functions:
1210 //
None //===- Support/DepthFirstIterator.h - Depth First iterator -------*- C++ -*--=//
0 //===- Support/DepthFirstIterator.h - Depth First iterator ------*- C++ -*-===//
11 //
22 // This file builds on the Support/GraphTraits.h file to build generic depth
33 // first graph iterator.
None //===-- Support/EquivalenceClasses.h -------------------------*- C++ -*--=//
0 //===-- Support/EquivalenceClasses.h ----------------------------*- C++ -*-===//
11 //
2 // Generic implementation of equivalence classes and implementation of
3 // union-find algorithms
4 // A not-so-fancy implementation: 2 level tree i.e root and one more level
5 // Overhead of a union = size of the equivalence class being attached
6 // Overhead of a find = 1.
2 // Generic implementation of equivalence classes and implementation of
3 // union-find algorithms A not-so-fancy implementation: 2 level tree i.e root
4 // and one more level Overhead of a union = size of the equivalence class being
5 // attached Overhead of a find = 1.
76 //
8 //===------------------------------------------------------------------===//
7 //===----------------------------------------------------------------------===//
98
109 #ifndef SUPPORT_EQUIVALENCECLASSES_H
1110 #define SUPPORT_EQUIVALENCECLASSES_H
6766 return EqClass;
6867
6968 ElemTy classLeader = Elem2ECLeaderMap[Element1];
70
7169 for (typename std::map::iterator ElemI =
7270 Elem2ECLeaderMap.begin(), ElemE = Elem2ECLeaderMap.end();
7371 ElemI != ElemE; ++ElemI) {
7674 }
7775
7876 return EqClass;
79
8077 }
8178
8279 std::map& getLeaderMap() {
8380 return Elem2ECLeaderMap ;
8481 }
85
8682 };
8783
8884 #endif
None //===-- Support/GraphTraits.h - Graph traits template ------------*- C++ -*--=//
0 //===-- Support/GraphTraits.h - Graph traits template -----------*- C++ -*-===//
11 //
22 // This file defines the little GraphTraits template class that should be
33 // specialized by classes that want to be iteratable by generic graph iterators.
None //===-- HashExtras.h - Useful functions for STL hash containers --*- C++ -*--=//
0 //===-- HashExtras.h - Useful functions for STL hash containers -*- C++ -*-===//
11 //
22 // This file contains some templates that are useful if you are working with the
33 // STL Hashed containers.
None //===-- Support/PostOrderIterator.h - Generic PostOrder iterator -*- C++ -*--=//
0 //===- Support/PostOrderIterator.h - Generic PostOrder iterator -*- C++ -*-===//
11 //
22 // This file builds on the Support/GraphTraits.h file to build a generic graph
33 // post order iterator. This should work over any graph type that has a
None //===-- STLExtras.h - Useful functions when working with the STL -*- C++ -*--=//
0 //===- STLExtras.h - Useful functions when working with the STL -*- C++ -*-===//
11 //
22 // This file contains some templates that are useful if you are working with the
33 // STL at all.
None //===-- Support/SetOperations.h - Generic Set Operations ---------*- C++ -*--=//
0 //===-- Support/SetOperations.h - Generic Set Operations --------*- C++ -*-===//
11 //
22 // This file defines generic set operations that may be used on set's of
33 // different types, and different element types.
None //===-- Support/StringExtras.h - Useful string functions ---------*- C++ -*--=//
0 //===-- Support/StringExtras.h - Useful string functions --------*- C++ -*-===//
11 //
22 // This file contains some functions that are useful when dealing with strings.
33 //
None //===- Support/Tree.h - Generic n-way tree structure -------------*- C++ -*--=//
0 //===- Support/Tree.h - Generic n-way tree structure ------------*- C++ -*-===//
11 //
22 // This class defines a generic N way tree node structure. The tree structure
33 // is immutable after creation, but the payload contained within it is not.
None //===-- - Intrusive Linked List Template ---------*- C++ -*--=//
0 //===-- Support/ilist - Intrusive Linked List Template ----------*- C++ -*-===//
11 //
22 // This file defines classes to implement an intrusive doubly linked list class
33 // (ie each node of the list must contain a next and previous field for the
None //===-- llvm/AbstractTypeUser.h - AbstractTypeUser Interface -----*- C++ -*--=//
0 //===-- llvm/AbstractTypeUser.h - AbstractTypeUser Interface ----*- C++ -*-===//
11 //
22 // The AbstractTypeUser class is an interface to be implemented by classes who
33 // could possible use an abstract type. Abstract types are denoted by the
None //===- CallGraph.h - Build a Module's call graph -----------------*- C++ -*--=//
0 //===- CallGraph.h - Build a Module's call graph ----------------*- C++ -*-===//
11 //
22 // This interface is used to build and manipulate a call graph, which is a very
33 // useful tool for interprocedural optimization.
None //==-- llvm/Analysis/ConstantsScanner.h - Iterate over constants -*- C++ -*-==//
0 //==- llvm/Analysis/ConstantsScanner.h - Iterate over constants -*- C++ -*-===//
11 //
22 // This class implements an iterator to walk through the constants referenced by
33 // a method. This is used by the Bytecode & Assembly writers to build constant
None //===- llvm/Analysis/Expressions.h - Expression Analysis Utils ---*- C++ -*--=//
0 //===- llvm/Analysis/Expressions.h - Expression Analysis Utils --*- C++ -*-===//
11 //
22 // This file defines a package of expression analysis utilties:
33 //
None //===- llvm/Analysis/FindUnsafePointerTypes.h - Unsafe pointers ---*- C++ -*-=//
0 //===- llvm/Analysis/FindUnsafePointerTypes.h - Unsafe pointers -*- C++ -*-===//
11 //
22 // This file defines a pass that can be used to determine, interprocedurally,
33 // which pointer types are accessed unsafely in a program. If there is an
None //===- llvm/Analysis/FindUsedTypes.h - Find all Types in use -----*- C++ -*--=//
0 //===- llvm/Analysis/FindUsedTypes.h - Find all Types in use ----*- C++ -*-===//
11 //
22 // This pass is used to seek out all of the types in use by the program.
33 //
None //===- llvm/Analysis/InstForest.h - Partition Func into forest ---*- C++ -*--=//
0 //===- llvm/Analysis/InstForest.h - Partition Func into forest --*- C++ -*-===//
11 //
22 // This interface is used to partition a method into a forest of instruction
33 // trees, where the following invariants hold:
None //===- llvm/Analysis/Interval.h - Interval Class Declaration -----*- C++ -*--=//
0 //===- llvm/Analysis/Interval.h - Interval Class Declaration ----*- C++ -*-===//
11 //
22 // This file contains the declaration of the Interval class, which
33 // represents a set of CFG nodes and is a portion of an interval partition.
None //===- IntervalIterator.h - Interval Iterator Declaration --------*- C++ -*--=//
0 //===- IntervalIterator.h - Interval Iterator Declaration -------*- C++ -*-===//
11 //
22 // This file defines an iterator that enumerates the intervals in a control flow
33 // graph of some sort. This iterator is parametric, allowing iterator over the
None //===- IntervalPartition.h - Interval partition Calculation ------*- C++ -*--=//
0 //===- IntervalPartition.h - Interval partition Calculation -----*- C++ -*-===//
11 //
22 // This file contains the declaration of the IntervalPartition class, which
33 // calculates and represents the interval partition of a function, or a
None //===- llvm/Analysis/LoopInfo.h - Natural Loop Calculator --------*- C++ -*--=//
0 //===- llvm/Analysis/LoopInfo.h - Natural Loop Calculator -------*- C++ -*-===//
11 //
22 // This file defines the LoopInfo class that is used to identify natural loops
33 // and determine the loop depth of various nodes of the CFG. Note that natural
None //=- llvm/Analysis/PostDominators.h - Post Dominator Calculation -*- C++ -*--=//
0 //=- llvm/Analysis/PostDominators.h - Post Dominator Calculation-*- C++ -*-===//
11 //
22 // This file exposes interfaces to post dominance information.
33 //
None //===-- llvm/SlotCalculator.h - Calculate value slots ------------*- C++ -*-==//
0 //===-- llvm/SlotCalculator.h - Calculate value slots -----------*- C++ -*-===//
11 //
22 // This class calculates the slots that values will land in. This is useful for
33 // when writing bytecode or assembly out, because you have to know these things.
None //===-- llvm/Analysis/Verifier.h - Module Verifier ---------------*- C++ -*-==//
0 //===-- llvm/Analysis/Verifier.h - Module Verifier --------------*- C++ -*-===//
11 //
22 // This file defines the function verifier interface, that can be used for some
33 // sanity checking of input to the system, and for checking that transformations
None //===-- llvm/Assembly/CWriter.h - C Printer for LLVM programs --*- C++ -*--===//
0 //===-- llvm/Assembly/CWriter.h - C Printer for LLVM programs ---*- C++ -*-===//
11 //
22 // This functionality is implemented by the lib/CWriter library. This library
33 // is used to print C language files to an iostream.
None //===-- llvm/Assembly/CachedWriter.h - Printer Accellerator ------*- C++ -*--=//
0 //===-- llvm/Assembly/CachedWriter.h - Printer Accellerator -----*- C++ -*-===//
11 //
22 // This file defines a 'CacheWriter' class that is used to accelerate printing
33 // chunks of LLVM. This is used when a module is not being changed, but random
None //===-- llvm/Assembly/Parser.h - Parser for VM assembly files ----*- C++ -*--=//
0 //===-- llvm/Assembly/Parser.h - Parser for VM assembly files ---*- C++ -*-===//
11 //
22 // These classes are implemented by the lib/AsmParser library.
33 //
2626 // ParseException - For when an exceptional event is generated by the parser.
2727 // This class lets you print out the exception message
2828 //
29 class ParseException {
30 public:
29 struct ParseException {
3130 ParseException(const std::string &filename, const std::string &message,
3231 int LineNo = -1, int ColNo = -1);
3332
None //===- llvm/Assembly/PrintModulePass.h - Printing Pass -----------*- C++ -*--=//
0 //===- llvm/Assembly/PrintModulePass.h - Printing Pass ----------*- C++ -*-===//
11 //
22 // This file defines two passes to print out a module. The PrintModulePass pass
33 // simply prints out the entire module when it is executed. The
None //===-- llvm/Assembly/Writer.h - Printer for VM assembly files ---*- C++ -*--=//
0 //===-- llvm/Assembly/Writer.h - Printer for VM assembly files --*- C++ -*-===//
11 //
22 // This functionality is implemented by the lib/Assembly/Writer library.
33 // This library is used to print VM assembly language files to an iostream. It
2020 class Module;
2121 class Value;
2222
23
2423 // WriteTypeSymbolic - This attempts to write the specified type as a symbolic
2524 // type, iff there is an entry in the modules symbol table for the specified
2625 // type or one of it's component types. This is slower than a simple x << Type;
2726 //
2827 std::ostream &WriteTypeSymbolic(std::ostream &, const Type *, const Module *M);
29
3028
3129 // WriteAsOperand - Write the name of the specified value out to the specified
3230 // ostream. This can be useful when you just want to print int %reg126, not the
None //===-- llvm/BasicBlock.h - Represent a basic block in the VM ----*- C++ -*--=//
0 //===-- llvm/BasicBlock.h - Represent a basic block in the VM ---*- C++ -*-===//
11 ///
22 /// \class BasicBlock
33 ///
None //===-- llvm/Bytecode/Format.h - VM bytecode file format info ----*- C++ -*--=//
0 //===-- llvm/Bytecode/Format.h - VM bytecode file format info ---*- C++ -*-===//
11 //
22 // This header defines intrinsic constants that are useful to libraries that
33 // need to hack on bytecode files directly, like the reader and writer.
2323 ModuleGlobalInfo,
2424 GlobalTypePlane,
2525
26 // Method subtypes:
26 // Function subtypes:
2727 MethodInfo = 0x21,
2828 // Can also have ConstantPool block
2929 // Can also have SymbolTable block
None //===-- llvm/Bytecode/Primitives.h - Bytecode file format prims --*- C++ -*--=//
0 //===-- llvm/Bytecode/Primitives.h - Bytecode file format prims -*- C++ -*-===//
11 //
22 // This header defines some basic functions for reading and writing basic
33 // primitive types to a bytecode stream.
None //===-- llvm/Bytecode/Reader.h - Reader for VM bytecode files ----*- C++ -*--=//
0 //===-- llvm/Bytecode/Reader.h - Reader for VM bytecode files ---*- C++ -*-===//
11 //
22 // This functionality is implemented by the lib/Bytecode/Reader library.
33 // This library is used to read VM bytecode files from an iostream.
None //===- llvm/Bytecode/WriteBytecodePass.h - Bytecode Writer Pass --*- C++ -*--=//
0 //===- llvm/Bytecode/WriteBytecodePass.h - Bytecode Writer Pass -*- C++ -*-===//
11 //
22 // This file defines a simple pass to write the working module to a file after
33 // pass processing is completed.
None //===-- llvm/Bytecode/Writer.h - Writer for VM bytecode files ----*- C++ -*--=//
0 //===-- llvm/Bytecode/Writer.h - Writer for VM bytecode files ---*- C++ -*-===//
11 //
22 // This functionality is implemented by the lib/BytecodeWriter library.
33 // This library is used to write VM bytecode files to an iostream. First, you
None //===-- llvm/CodeGen/InstForest.h ------------------------------*- C++ -*--===//
0 //===-- llvm/CodeGen/InstForest.h -------------------------------*- C++ -*-===//
11 //
22 // Purpose:
33 // Convert SSA graph to instruction trees for instruction selection.
None //===-- InstrScheduling.h - Interface To Instruction Scheduling --*- C++ -*-==//
0 //===-- InstrScheduling.h - Interface To Instruction Scheduling -*- C++ -*-===//
11 //
22 // This file defines a minimal, but complete, interface to instruction
33 // scheduling.
2020 // are still in SSA form.
2121 //---------------------------------------------------------------------------
2222
23 FunctionPass *createInstructionSchedulingWithSSAPass(const TargetMachine &Target);
23 FunctionPass *createInstructionSchedulingWithSSAPass(const TargetMachine &TM);
2424
2525 #endif
None //===-- llvm/CodeGen/MachineInstr.h - MachineInstr class ---------*- C++ -*--=//
0 //===-- llvm/CodeGen/MachineInstr.h - MachineInstr class --------*- C++ -*-===//
11 //
22 // This file contains the declaration of the MachineInstr class, which is the
33 // basic representation for all target dependent machine instructions used by
1111 #include "llvm/Target/MRegisterInfo.h"
1212 #include "Support/Annotation.h"
1313 #include "Support/iterator"
14 #include
1514
1615 class Value;
1716 class Function;
None //===-- CodeGen/RegisterAllocation.h - RegAlloc Pass -------------*- C++ -*--=//
0 //===-- CodeGen/RegisterAllocation.h - RegAlloc Pass ------------*- C++ -*-===//
11 //
22 // This pass register allocates a module, a method at a time.
33 //
None //===-- SchedGraphCommon.h - Scheduling Base Graph ---------------*- C++ -*---=//
0 //===-- SchedGraphCommon.h - Scheduling Base Graph --------------*- C++ -*-===//
11 //
22 // A common graph class that is based on the SSA graph. It includes
33 // extra dependencies that are caused by machine resources.
44 //
5 //===-------------------------------------------------------------------------=//
5 //===----------------------------------------------------------------------===//
66
77 #ifndef LLVM_CODEGEN_SCHEDGRAPHCOMMON_H
88 #define LLVM_CODEGEN_SCHEDGRAPHCOMMON_H
None //===-- llvm/Constant.h - Constant class definition --------------*- C++ -*--=//
0 //===-- llvm/Constant.h - Constant class definition -------------*- C++ -*-===//
11 //
22 // This file contains the declaration of the Constant class.
33 //
None //===-- ConstantHandling.h - Stuff for manipulating constants ----*- C++ -*--=//
0 //===-- ConstantHandling.h - Stuff for manipulating constants ---*- C++ -*-===//
11 //
22 // This file contains the declarations of some cool operators that allow you
33 // to do natural things with constant pool values.
None //===-- llvm/Constants.h - Constant class subclass definitions ---*- C++ -*--=//
0 //===-- llvm/Constants.h - Constant class subclass definitions --*- C++ -*-===//
11 //
22 // This file contains the declarations for the subclasses of Constant, which
33 // represent the different type of constant pool values
None //===-- llvm/DerivedTypes.h - Classes for handling data types ----*- C++ -*--=//
0 //===-- llvm/DerivedTypes.h - Classes for handling data types ---*- C++ -*-===//
11 //
22 // This file contains the declarations of classes that represent "derived
33 // types". These are things like "arrays of x" or "structure of x, y, z" or
None //===-- llvm/GlobalValue.h - Class to represent a global value ---*- C++ -*--=//
0 //===-- llvm/GlobalValue.h - Class to represent a global value --*- C++ -*-===//
11 //
22 // This file is a common base class of all globally definable objects. As such,
33 // it is subclassed by GlobalVariable and by Function. This is used because you
None //===-- llvm/Global.h - Class to represent a global variable -----*- C++ -*--=//
0 //===-- llvm/Global.h - Class to represent a global variable ----*- C++ -*-===//
11 //
22 // This file contains the declaration of the GlobalVariable class, which
33 // represents a single global variable (or constant) in the VM.
None //===-- llvm/InstrTypes.h - Important Instruction subclasses -----*- C++ -*--=//
0 //===-- llvm/InstrTypes.h - Important Instruction subclasses ----*- C++ -*-===//
11 //
22 // This file defines various meta classes of instructions that exist in the VM
33 // representation. Specific concrete subclasses of these may be found in the
None //===-- llvm/Instruction.def - File that describes Instructions --*- C++ -*--=//
0 //===-- llvm/Instruction.def - File that describes Instructions -*- C++ -*-===//
11 //
22 // This file contains descriptions of the various LLVM instructions. This is
33 // used as a central place for enumerating the different instructions and
None //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface --*- C++ -*--=//
0 //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface -*- C++ -*-===//
11 //
22 // This file defines the interface to the module linker.
33 //
None //===-- llvm/Module.h - C++ class to represent a VM module -------*- C++ -*--=//
0 //===-- llvm/Module.h - C++ class to represent a VM module ------*- C++ -*-===//
11 //
22 // This file contains the declarations for the Module class that is used to
33 // maintain all the information related to a VM module.
None //===- llvm/Pass.h - Base class for XForm Passes -----------------*- C++ -*--=//
0 //===- llvm/Pass.h - Base class for Passes ----------------------*- C++ -*-===//
11 //
22 // This file defines a base class that indicates that a specified class is a
33 // transformation pass implementation.
None //===- llvm/PassAnalysisSupport.h - Analysis Pass Support code ---*- C++ -*-==//
0 //===- llvm/PassAnalysisSupport.h - Analysis Pass Support code --*- C++ -*-===//
11 //
22 // This file defines stuff that is used to define and "use" Analysis Passes.
33 // This file is automatically #included by Pass.h, so:
None //===- llvm/PassManager.h - Container for Passes -----------------*- C++ -*--=//
0 //===- llvm/PassManager.h - Container for Passes ----------------*- C++ -*-===//
11 //
22 // This file defines the PassManager class. This class is used to hold,
33 // maintain, and optimize execution of Passes. The PassManager class ensures
None //===-- llvm/SlotCalculator.h - Calculate value slots ------------*- C++ -*-==//
0 //===-- llvm/SlotCalculator.h - Calculate value slots -----------*- C++ -*-===//
11 //
22 // This class calculates the slots that values will land in. This is useful for
33 // when writing bytecode or assembly out, because you have to know these things.
None //===-- llvm/Support/CFG.h - Process LLVM structures as graphs ---*- C++ -*--=//
0 //===-- llvm/Support/CFG.h - Process LLVM structures as graphs --*- C++ -*-===//
11 //
22 // This file defines specializations of GraphTraits that allow Function and
33 // BasicBlock graphs to be treated as proper graphs for generic algorithms.
44 //
55 //===----------------------------------------------------------------------===//
66
7 #ifndef LLVM_CFG_H
8 #define LLVM_CFG_H
7 #ifndef LLVM_SUPPORT_CFG_H
8 #define LLVM_SUPPORT_CFG_H
99
1010 #include "Support/GraphTraits.h"
1111 #include "llvm/Function.h"
None //===-- Support/Casting.h - Allow flexible, checked, casts -------*- C++ -*--=//
0 //===-- Support/Casting.h - Allow flexible, checked, casts ------*- C++ -*-===//
11 //
22 // This file defines the isa(), cast(), dyn_cast(), cast_or_null(),
33 // and dyn_cast_or_null() templates.
None //===- Support/CommandLine.h - Flexible Command line parser ------*- C++ -*--=//
0 //===- Support/CommandLine.h - Flexible Command line parser -----*- C++ -*-===//
11 //
22 // This class implements a command line argument processor that is useful when
33 // creating a tool. It provides a simple, minimalistic interface that is easily
None //===-- Support/DotGraphTraits.h - Customize .dot output -------*- C++ -*--===//
0 //===-- Support/DotGraphTraits.h - Customize .dot output --------*- C++ -*-===//
11 //
22 // This file defines a template class that can be used to customize dot output
33 // graphs generated by the GraphWriter.h file. The default implementation of
None //===-- Support/GraphWriter.h - Write a graph to a .dot file ---*- C++ -*--===//
0 //===-- Support/GraphWriter.h - Write a graph to a .dot file ----*- C++ -*-===//
11 //
22 // This file defines a simple interface that can be used to print out generic
33 // LLVM graphs to ".dot" files. "dot" is a tool that is part of the AT&T
None //===-- llvm/Support/InstIterator.h - Classes for inst iteration -*- C++ -*--=//
0 //===- llvm/Support/InstIterator.h - Classes for inst iteration -*- C++ -*-===//
11 //
22 // This file contains definitions of two iterators for iterating over the
33 // instructions in a function. This is effectively a wrapper around a two level
None //===- llvm/Support/InstVisitor.h - Define instruction visitors --*- C++ -*--=//
0 //===- llvm/Support/InstVisitor.h - Define instruction visitors -*- C++ -*-===//
11 //
22 // This template class is used to define instruction visitors in a typesafe
33 // manner without having to use lots of casts and a big switch statement (in
None //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface --*- C++ -*--=//
0 //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface -*- C++ -*-===//
11 //
22 // This file defines the interface to the module linker.
33 //
None //===-- Mangler.h - Self-contained c/asm llvm name mangler -*- C++ -*- ----===//
0 //===-- Mangler.h - Self-contained c/asm llvm name mangler ------*- C++ -*-===//
11 //
22 // Unified name mangler for CWriter and assembly backends.
33 //
None //===-- Support/MathExtras.h - Useful math functions -------------*- C++ -*--=//
0 //===-- Support/MathExtras.h - Useful math functions ------------*- C++ -*-===//
11 //
22 // This file contains some functions that are useful for math stuff.
33 //
None //===- SystemUtils.h - Utilities to do low-level system stuff --*- C++ -*--===//
0 //===- SystemUtils.h - Utilities to do low-level system stuff ---*- C++ -*-===//
11 //
22 // This file contains functions used to do a variety of low-level, often
33 // system-specific, tasks.
None //===- Support/TypeInfo.h - Support class for type_info objects --*- C++ -*--=//
0 //===- Support/TypeInfo.h - Support class for type_info objects -*- C++ -*-===//
11 //
22 // This class makes std::type_info objects behave like first class objects that
33 // can be put in maps and hashtables. This code is based off of code in the
None //===-- llvm/SymbolTable.h - Implement a type plane'd symtab ------*- C++ -*-=//
0 //===-- llvm/SymbolTable.h - Implement a type plane'd symtab ----*- C++ -*-===//
11 //
22 // This file implements a symbol table that has planed broken up by type.
33 // Identical types may have overlapping symbol names as long as they are
None //===-- llvm/SymbolTableListTraits.h - Traits for iplist -------*- C++ -*--===//
0 //===-- llvm/SymbolTableListTraits.h - Traits for iplist --------*- C++ -*-===//
11 //
22 // This file defines a generic class that is used to implement the automatic
33 // symbol table manipulation that occurs when you put (for example) a named
None //===- Support/Signals.h - Signal Handling support -------------*- C++ -*-===//
0 //===- Support/Signals.h - Signal Handling support --------------*- C++ -*-===//
11 //
22 // This file defines some helpful functions for dealing with the possibility of
33 // unix signals occuring while your program is running.
None //===-- llvm/Target/TargetData.h - Data size & alignment routines-*- C++ -*-==//
0 //===-- llvm/Target/TargetData.h - Data size & alignment info ---*- C++ -*-===//
11 //
22 // This file defines target properties related to datatype size/offset/alignment
33 // information. It uses lazy annotations to cache information about how
None //===-- llvm/Target/TargetMachine.h - General Target Information -*- C++ -*-==//
0 //===-- llvm/Target/TargetMachine.h - Target Information --------*- C++ -*-===//
11 //
22 // This file describes the general parts of a Target machine.
33 //
None //===-- llvm/Target/TargetRegInfo.h - Target Register Info -------*- C++ -*-==//
0 //===-- llvm/Target/TargetRegInfo.h - Target Register Info ------*- C++ -*-===//
11 //
22 // This file is used to describe the register system of a target to the
33 // register allocator.
None //===- Target/TargetSchedInfo.h - Target Instruction Sched Info --*- C++ -*-==//
0 //===- Target/TargetSchedInfo.h - Target Instruction Sched Info -*- C++ -*-===//
11 //
22 // This file describes the target machine to the instruction scheduler.
33 //
None //===- llvm/Transforms/MutateStructTypes.h - Change struct defns -*- C++ -*--=//
0 //===-- llvm/Transforms/MutateStructTypes.h - Rearrange structs -*- C++ -*-===//
11 //
22 // This pass is used to change structure accesses and type definitions in some
33 // way. It can be used to arbitrarily permute structure fields, safely, without
None //===-- Scalar.h - Scalar Transformations ------------------------*- C++ -*-==//
0 //===-- Scalar.h - Scalar Transformations -----------------------*- C++ -*-===//
11 //
22 // This header file defines prototypes for accessor functions that expose passes
33 // in the Scalar transformations library.
None //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utilities -*- C++ -*-==//
0 //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils ----*- C++ -*-===//
11 //
22 // This family of functions perform manipulations on basic blocks, and
33 // instructions contained within basic blocks.
None //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface --*- C++ -*--=//
0 //===- llvm/Transforms/Utils/Linker.h - Module Linker Interface -*- C++ -*-===//
11 //
22 // This file defines the interface to the module linker.
33 //
None //===-- Local.h - Functions to perform local transformations -----*- C++ -*--=//
0 //===-- Local.h - Functions to perform local transformations ----*- C++ -*-===//
11 //
22 // This family of functions perform various local transformations to the
33 // program.
None //===-- llvm/Type.def - File that describes various LLVM types ---*- C++ -*--=//
0 //===-- llvm/Type.def - File that describes various LLVM types --*- C++ -*-===//
11 //
22 // This file contains descriptions of the various LLVM types and derived types.
33 // This file serves as a source of in source documentation and a can be
None //===-- llvm/Type.h - Classes for handling data types ------------*- C++ -*--=//
0 //===-- llvm/Type.h - Classes for handling data types -----------*- C++ -*-===//
11 //
22 // This file contains the declaration of the Type class. For more "Type" type
33 // stuff, look in DerivedTypes.h.
3636 class StructType;
3737 class OpaqueType;
3838
39 class Type : public Value {
40 public:
39 struct Type : public Value {
4140 ///===-------------------------------------------------------------------===//
4241 /// Definitions of all of the base types for the Type system. Based on this
4342 /// value, you can cast to a "DerivedType" subclass (see DerivedTypes.h)
None //===-- llvm/User.h - User class definition ----------------------*- C++ -*--=//
0 //===-- llvm/User.h - User class definition ---------------------*- C++ -*-===//
11 //
22 // This class defines the interface that one who 'use's a Value must implement.
33 // Each instance of the Value class keeps track of what User's have handles
None //===-- llvm/Value.h - Definition of the Value class -------------*- C++ -*--=//
0 //===-- llvm/Value.h - Definition of the Value class ------------*- C++ -*-===//
11 //
22 // This file defines the very important Value class. This is subclassed by a
33 // bunch of other important classes, like Instruction, Function, Type, etc...
None //===-- llvm/iOther.h - "Other" instruction node definitions -----*- C++ -*--=//
0 //===-- llvm/iOther.h - "Other" instruction node definitions ----*- C++ -*-===//
11 //
22 // This file contains the declarations for instructions that fall into the
33 // grandiose 'other' catagory...
None //===-- llvm/iPHINode.h - PHI instruction definition -------------*- C++ -*--=//
0 //===-- llvm/iPHINode.h - PHI instruction definition ------------*- C++ -*-===//
11 //
22 // This file defines the PHINode class.
33 //
None //===-- llvm/SlotCalculator.h - Calculate value slots ------------*- C++ -*-==//
0 //===-- llvm/SlotCalculator.h - Calculate value slots -----------*- C++ -*-===//
11 //
22 // This class calculates the slots that values will land in. This is useful for
33 // when writing bytecode or assembly out, because you have to know these things.
None //===-- ConstantHandling.h - Stuff for manipulating constants ----*- C++ -*--=//
0 //===-- ConstantHandling.h - Stuff for manipulating constants ---*- C++ -*-===//
11 //
22 // This file contains the declarations of some cool operators that allow you
33 // to do natural things with constant pool values.
None //===-- ConstantHandling.h - Stuff for manipulating constants ----*- C++ -*--=//
0 //===-- ConstantHandling.h - Stuff for manipulating constants ---*- C++ -*-===//
11 //
22 // This file contains the declarations of some cool operators that allow you
33 // to do natural things with constant pool values.