mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-10 05:41:40 +00:00
Removing an "if (!this)" check from two print methods. The condition will
never be true in a well-defined context. The checking for null pointers has been moved into the caller logic so it does not rely on undefined behavior. llvm-svn: 210497
This commit is contained in:
parent
03b6e12fae
commit
8c7b353cd7
@ -602,8 +602,10 @@ namespace {
|
||||
|
||||
bool runOnSCC(CallGraphSCC &SCC) override {
|
||||
Out << Banner;
|
||||
for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I)
|
||||
for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
|
||||
assert((*I)->getFunction() && "Expecting non-null Function");
|
||||
(*I)->getFunction()->print(Out);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
@ -287,6 +287,7 @@ void IVUsers::print(raw_ostream &OS, const Module *M) const {
|
||||
OS << ")";
|
||||
}
|
||||
OS << " in ";
|
||||
assert(UI->getUser() != nullptr && "Expected non-null User");
|
||||
UI->getUser()->print(OS);
|
||||
OS << '\n';
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ public:
|
||||
for (Loop::block_iterator b = L->block_begin(), be = L->block_end();
|
||||
b != be;
|
||||
++b) {
|
||||
assert((*b) != nullptr && "Expecting non-null block");
|
||||
(*b)->print(Out);
|
||||
}
|
||||
return false;
|
||||
|
@ -195,8 +195,10 @@ public:
|
||||
|
||||
bool runOnRegion(Region *R, RGPassManager &RGM) override {
|
||||
Out << Banner;
|
||||
for (const auto &BB : R->blocks())
|
||||
for (const auto &BB : R->blocks()) {
|
||||
assert(BB != nullptr && "Expecting non-null Block");
|
||||
BB->print(Out);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -1867,6 +1867,7 @@ static void emitGlobalConstantFP(const ConstantFP *CFP, AsmPrinter &AP) {
|
||||
SmallString<8> StrVal;
|
||||
CFP->getValueAPF().toString(StrVal);
|
||||
|
||||
assert(CFP->getType() != nullptr && "Expecting non-null Type");
|
||||
CFP->getType()->print(AP.OutStreamer.GetCommentOS());
|
||||
AP.OutStreamer.GetCommentOS() << ' ' << StrVal << '\n';
|
||||
}
|
||||
|
@ -2156,10 +2156,6 @@ void NamedMDNode::print(raw_ostream &ROS) const {
|
||||
}
|
||||
|
||||
void Type::print(raw_ostream &OS) const {
|
||||
if (!this) {
|
||||
OS << "<null Type>";
|
||||
return;
|
||||
}
|
||||
TypePrinting TP;
|
||||
TP.print(const_cast<Type*>(this), OS);
|
||||
|
||||
@ -2172,10 +2168,6 @@ void Type::print(raw_ostream &OS) const {
|
||||
}
|
||||
|
||||
void Value::print(raw_ostream &ROS) const {
|
||||
if (!this) {
|
||||
ROS << "printing a <null> value\n";
|
||||
return;
|
||||
}
|
||||
formatted_raw_ostream OS(ROS);
|
||||
if (const Instruction *I = dyn_cast<Instruction>(this)) {
|
||||
const Function *F = I->getParent() ? I->getParent()->getParent() : nullptr;
|
||||
|
@ -281,6 +281,7 @@ char *LLVMPrintTypeToString(LLVMTypeRef Ty) {
|
||||
std::string buf;
|
||||
raw_string_ostream os(buf);
|
||||
|
||||
assert(unwrap(Ty) != nullptr && "Expecting non-null Type");
|
||||
unwrap(Ty)->print(os);
|
||||
os.flush();
|
||||
|
||||
@ -531,6 +532,7 @@ char* LLVMPrintValueToString(LLVMValueRef Val) {
|
||||
std::string buf;
|
||||
raw_string_ostream os(buf);
|
||||
|
||||
assert(unwrap(Val) != nullptr && "Expecting non-null Value");
|
||||
unwrap(Val)->print(os);
|
||||
os.flush();
|
||||
|
||||
|
@ -352,6 +352,7 @@ private:
|
||||
}
|
||||
|
||||
std::string getTypeName(Type *T) {
|
||||
assert(T != nullptr && "Expecting non-null Type");
|
||||
std::string TypeName;
|
||||
raw_string_ostream TypeStream(TypeName);
|
||||
T->print(TypeStream);
|
||||
|
Loading…
Reference in New Issue
Block a user