mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Fix various DOUTs to not call the extremely expensive Value::getName()
method. DOUT statements are disabled when assertions are off, but the side effects of getName() are still evaluated. Just call getNameSTart, which is close enough and doesn't cause heap traffic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50958 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3a73c9e5f9
commit
5c8e8d7fc5
@ -179,7 +179,7 @@ public:
|
||||
/// MarkBlockExecutable - This method can be used by clients to mark all of
|
||||
/// the blocks that are known to be intrinsically live in the processed unit.
|
||||
void MarkBlockExecutable(BasicBlock *BB) {
|
||||
DOUT << "Marking Block Executable: " << BB->getName() << "\n";
|
||||
DOUT << "Marking Block Executable: " << BB->getNameStart() << "\n";
|
||||
BBExecutable.insert(BB); // Basic block is executable!
|
||||
BBWorkList.push_back(BB); // Add the block to the work list!
|
||||
}
|
||||
@ -334,8 +334,8 @@ private:
|
||||
return; // This edge is already known to be executable!
|
||||
|
||||
if (BBExecutable.count(Dest)) {
|
||||
DOUT << "Marking Edge Executable: " << Source->getName()
|
||||
<< " -> " << Dest->getName() << "\n";
|
||||
DOUT << "Marking Edge Executable: " << Source->getNameStart()
|
||||
<< " -> " << Dest->getNameStart() << "\n";
|
||||
|
||||
// The destination is already executable, but we just made an edge
|
||||
// feasible that wasn't before. Revisit the PHI nodes in the block
|
||||
@ -1451,7 +1451,7 @@ FunctionPass *llvm::createSCCPPass() {
|
||||
// and return true if the function was modified.
|
||||
//
|
||||
bool SCCP::runOnFunction(Function &F) {
|
||||
DOUT << "SCCP on function '" << F.getName() << "'\n";
|
||||
DOUT << "SCCP on function '" << F.getNameStart() << "'\n";
|
||||
SCCPSolver Solver;
|
||||
|
||||
// Mark the first block of the function as being executable.
|
||||
@ -1774,7 +1774,7 @@ bool IPSCCP::runOnModule(Module &M) {
|
||||
GlobalVariable *GV = I->first;
|
||||
assert(!I->second.isOverdefined() &&
|
||||
"Overdefined values should have been taken out of the map!");
|
||||
DOUT << "Found that GV '" << GV->getName()<< "' is constant!\n";
|
||||
DOUT << "Found that GV '" << GV->getNameStart() << "' is constant!\n";
|
||||
while (!GV->use_empty()) {
|
||||
StoreInst *SI = cast<StoreInst>(GV->use_back());
|
||||
SI->eraseFromParent();
|
||||
|
Loading…
Reference in New Issue
Block a user