mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Doxygenify comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12071 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0256e4bbf9
commit
ab5c6003d2
@ -97,9 +97,9 @@ static std::string getLLVMName(const std::string &Name) {
|
||||
}
|
||||
|
||||
|
||||
// If the module has a symbol table, take all global types and stuff their
|
||||
// names into the TypeNames map.
|
||||
//
|
||||
/// fillTypeNameTable - If the module has a symbol table, take all global types
|
||||
/// and stuff their names into the TypeNames map.
|
||||
///
|
||||
static void fillTypeNameTable(const Module *M,
|
||||
std::map<const Type *, std::string> &TypeNames) {
|
||||
if (!M) return;
|
||||
@ -381,10 +381,10 @@ static void WriteConstantInt(std::ostream &Out, const Constant *CV,
|
||||
}
|
||||
|
||||
|
||||
// WriteAsOperand - Write the name of the specified value out to the specified
|
||||
// ostream. This can be useful when you just want to print int %reg126, not the
|
||||
// whole instruction that generated it.
|
||||
//
|
||||
/// WriteAsOperand - Write the name of the specified value out to the specified
|
||||
/// ostream. This can be useful when you just want to print int %reg126, not
|
||||
/// the whole instruction that generated it.
|
||||
///
|
||||
static void WriteAsOperandInternal(std::ostream &Out, const Value *V,
|
||||
bool PrintName,
|
||||
std::map<const Type*, std::string> &TypeTable,
|
||||
@ -422,7 +422,6 @@ static void WriteAsOperandInternal(std::ostream &Out, const Value *V,
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// WriteAsOperand - Write the name of the specified value out to the specified
|
||||
/// ostream. This can be useful when you just want to print int %reg126, not
|
||||
/// the whole instruction that generated it.
|
||||
@ -503,9 +502,9 @@ private :
|
||||
};
|
||||
} // end of anonymous namespace
|
||||
|
||||
// printTypeAtLeastOneLevel - Print out one level of the possibly complex type
|
||||
// without considering any symbolic types that we may have equal to it.
|
||||
//
|
||||
/// printTypeAtLeastOneLevel - Print out one level of the possibly complex type
|
||||
/// without considering any symbolic types that we may have equal to it.
|
||||
///
|
||||
std::ostream &AssemblyWriter::printTypeAtLeastOneLevel(const Type *Ty) {
|
||||
if (const FunctionType *FTy = dyn_cast<FunctionType>(Ty)) {
|
||||
printType(FTy->getReturnType()) << " (";
|
||||
@ -602,9 +601,9 @@ void AssemblyWriter::printGlobal(const GlobalVariable *GV) {
|
||||
}
|
||||
|
||||
|
||||
// printSymbolTable - Run through symbol table looking for named constants
|
||||
// if a named constant is found, emit it's declaration...
|
||||
//
|
||||
/// printSymbolTable - Run through symbol table looking for named constants
|
||||
/// if a named constant is found, emit it's declaration...
|
||||
///
|
||||
void AssemblyWriter::printSymbolTable(const SymbolTable &ST) {
|
||||
for (SymbolTable::const_iterator TI = ST.begin(); TI != ST.end(); ++TI) {
|
||||
SymbolTable::type_const_iterator I = ST.type_begin(TI->first);
|
||||
@ -628,8 +627,8 @@ void AssemblyWriter::printSymbolTable(const SymbolTable &ST) {
|
||||
}
|
||||
|
||||
|
||||
// printConstant - Print out a constant pool entry...
|
||||
//
|
||||
/// printConstant - Print out a constant pool entry...
|
||||
///
|
||||
void AssemblyWriter::printConstant(const Constant *CPV) {
|
||||
// Don't print out unnamed constants, they will be inlined
|
||||
if (!CPV->hasName()) return;
|
||||
@ -644,8 +643,8 @@ void AssemblyWriter::printConstant(const Constant *CPV) {
|
||||
Out << "\n";
|
||||
}
|
||||
|
||||
// printFunction - Print all aspects of a function.
|
||||
//
|
||||
/// printFunction - Print all aspects of a function.
|
||||
///
|
||||
void AssemblyWriter::printFunction(const Function *F) {
|
||||
// Print out the return type and name...
|
||||
Out << "\n";
|
||||
@ -699,9 +698,9 @@ void AssemblyWriter::printFunction(const Function *F) {
|
||||
Table.purgeFunction();
|
||||
}
|
||||
|
||||
// printArgument - This member is called for every argument that
|
||||
// is passed into the function. Simply print it out
|
||||
//
|
||||
/// printArgument - This member is called for every argument that is passed into
|
||||
/// the function. Simply print it out
|
||||
///
|
||||
void AssemblyWriter::printArgument(const Argument *Arg) {
|
||||
// Insert commas as we go... the first arg doesn't get a comma
|
||||
if (Arg != &Arg->getParent()->afront()) Out << ", ";
|
||||
@ -716,8 +715,8 @@ void AssemblyWriter::printArgument(const Argument *Arg) {
|
||||
Out << "<badref>";
|
||||
}
|
||||
|
||||
// printBasicBlock - This member is called for each basic block in a method.
|
||||
//
|
||||
/// printBasicBlock - This member is called for each basic block in a method.
|
||||
///
|
||||
void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
||||
if (BB->hasName()) { // Print out the label if it exists...
|
||||
Out << "\n" << BB->getName() << ":";
|
||||
@ -761,9 +760,9 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
||||
}
|
||||
|
||||
|
||||
// printInfoComment - Print a little comment after the instruction indicating
|
||||
// which slot it occupies.
|
||||
//
|
||||
/// printInfoComment - Print a little comment after the instruction indicating
|
||||
/// which slot it occupies.
|
||||
///
|
||||
void AssemblyWriter::printInfoComment(const Value &V) {
|
||||
if (V.getType() != Type::VoidTy) {
|
||||
Out << "\t\t; <";
|
||||
@ -778,8 +777,8 @@ void AssemblyWriter::printInfoComment(const Value &V) {
|
||||
}
|
||||
}
|
||||
|
||||
// printInstruction - This member is called for each Instruction in a method.
|
||||
//
|
||||
/// printInstruction - This member is called for each Instruction in a method.
|
||||
///
|
||||
void AssemblyWriter::printInstruction(const Instruction &I) {
|
||||
if (AnnotationWriter) AnnotationWriter->emitInstructionAnnot(&I, Out);
|
||||
|
||||
|
@ -62,8 +62,8 @@ namespace { // Anonymous namespace for class
|
||||
bool Broken; // Is this module found to be broken?
|
||||
bool RealPass; // Are we not being run by a PassManager?
|
||||
bool AbortBroken; // If broken, should it or should it not abort?
|
||||
Module *Mod; // Module we are verifying right now
|
||||
DominatorSet *DS; // Dominator set, caution can be null!
|
||||
Module *Mod; // Module we are verifying right now
|
||||
DominatorSet *DS; // Dominator set, caution can be null!
|
||||
|
||||
Verifier() : Broken(false), RealPass(true), AbortBroken(true), DS(0) {}
|
||||
Verifier(bool AB) : Broken(false), RealPass(true), AbortBroken(AB), DS(0) {}
|
||||
@ -78,7 +78,6 @@ namespace { // Anonymous namespace for class
|
||||
// If this is a real pass, in a pass manager, we must abort before
|
||||
// returning back to the pass manager, or else the pass manager may try to
|
||||
// run other passes on the broken module.
|
||||
//
|
||||
if (RealPass)
|
||||
abortIfBroken();
|
||||
return false;
|
||||
@ -92,7 +91,6 @@ namespace { // Anonymous namespace for class
|
||||
// If this is a real pass, in a pass manager, we must abort before
|
||||
// returning back to the pass manager, or else the pass manager may try to
|
||||
// run other passes on the broken module.
|
||||
//
|
||||
if (RealPass)
|
||||
abortIfBroken();
|
||||
|
||||
@ -118,9 +116,9 @@ namespace { // Anonymous namespace for class
|
||||
AU.addRequired<DominatorSet>();
|
||||
}
|
||||
|
||||
// abortIfBroken - If the module is broken and we are supposed to abort on
|
||||
// this condition, do so.
|
||||
//
|
||||
/// abortIfBroken - If the module is broken and we are supposed to abort on
|
||||
/// this condition, do so.
|
||||
///
|
||||
void abortIfBroken() const {
|
||||
if (Broken && AbortBroken) {
|
||||
std::cerr << "Broken module found, compilation aborted!\n";
|
||||
@ -167,7 +165,6 @@ namespace { // Anonymous namespace for class
|
||||
// CheckFailed - A check failed, so print out the condition and the message
|
||||
// that failed. This provides a nice place to put a breakpoint if you want
|
||||
// to see why something is not correct.
|
||||
//
|
||||
void CheckFailed(const std::string &Message,
|
||||
const Value *V1 = 0, const Value *V2 = 0,
|
||||
const Value *V3 = 0, const Value *V4 = 0) {
|
||||
@ -338,15 +335,16 @@ void Verifier::visitReturnInst(ReturnInst &RI) {
|
||||
visitTerminatorInst(RI);
|
||||
}
|
||||
|
||||
// visitUserOp1 - User defined operators shouldn't live beyond the lifetime of a
|
||||
// pass, if any exist, it's an error.
|
||||
//
|
||||
/// visitUserOp1 - User defined operators shouldn't live beyond the lifetime of
|
||||
/// a pass, if any exist, it's an error.
|
||||
///
|
||||
void Verifier::visitUserOp1(Instruction &I) {
|
||||
Assert1(0, "User-defined operators should not live outside of a pass!",
|
||||
&I);
|
||||
}
|
||||
|
||||
// visitPHINode - Ensure that a PHI node is well formed.
|
||||
/// visitPHINode - Ensure that a PHI node is well formed.
|
||||
///
|
||||
void Verifier::visitPHINode(PHINode &PN) {
|
||||
// Ensure that the PHI nodes are all grouped together at the top of the block.
|
||||
// This can be tested by checking whether the instruction before this is
|
||||
@ -397,9 +395,9 @@ void Verifier::visitCallInst(CallInst &CI) {
|
||||
visitInstruction(CI);
|
||||
}
|
||||
|
||||
// visitBinaryOperator - Check that both arguments to the binary operator are
|
||||
// of the same type!
|
||||
//
|
||||
/// visitBinaryOperator - Check that both arguments to the binary operator are
|
||||
/// of the same type!
|
||||
///
|
||||
void Verifier::visitBinaryOperator(BinaryOperator &B) {
|
||||
Assert1(B.getOperand(0)->getType() == B.getOperand(1)->getType(),
|
||||
"Both operands to a binary operator are not of the same type!", &B);
|
||||
@ -465,8 +463,8 @@ void Verifier::visitStoreInst(StoreInst &SI) {
|
||||
}
|
||||
|
||||
|
||||
// verifyInstruction - Verify that an instruction is well formed.
|
||||
//
|
||||
/// verifyInstruction - Verify that an instruction is well formed.
|
||||
///
|
||||
void Verifier::visitInstruction(Instruction &I) {
|
||||
BasicBlock *BB = I.getParent();
|
||||
Assert1(BB, "Instruction not embedded in basic block!", &I);
|
||||
@ -486,7 +484,6 @@ void Verifier::visitInstruction(Instruction &I) {
|
||||
// Check that all uses of the instruction, if they are instructions
|
||||
// themselves, actually have parent basic blocks. If the use is not an
|
||||
// instruction, it is an error!
|
||||
//
|
||||
for (User::use_iterator UI = I.use_begin(), UE = I.use_end();
|
||||
UI != UE; ++UI) {
|
||||
Assert1(isa<Instruction>(*UI), "Use of instruction is not an instruction!",
|
||||
@ -507,7 +504,6 @@ void Verifier::visitInstruction(Instruction &I) {
|
||||
BasicBlock *OpBlock = Op->getParent();
|
||||
|
||||
// Check that a definition dominates all of its uses.
|
||||
//
|
||||
if (!isa<PHINode>(I)) {
|
||||
// Invoke results are only usable in the normal destination, not in the
|
||||
// exceptional destination.
|
||||
@ -531,6 +527,7 @@ void Verifier::visitInstruction(Instruction &I) {
|
||||
}
|
||||
|
||||
/// visitIntrinsicFunction - Allow intrinsics to be verified in different ways.
|
||||
///
|
||||
void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
|
||||
Function *IF = CI.getCalledFunction();
|
||||
const FunctionType *FT = IF->getFunctionType();
|
||||
@ -626,9 +623,9 @@ bool llvm::verifyFunction(const Function &f) {
|
||||
return V.Broken;
|
||||
}
|
||||
|
||||
// verifyModule - Check a module for errors, printing messages on stderr.
|
||||
// Return true if the module is corrupt.
|
||||
//
|
||||
/// verifyModule - Check a module for errors, printing messages on stderr.
|
||||
/// Return true if the module is corrupt.
|
||||
///
|
||||
bool llvm::verifyModule(const Module &M) {
|
||||
PassManager PM;
|
||||
Verifier *V = new Verifier();
|
||||
|
Loading…
Reference in New Issue
Block a user