mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
Adjust file to the coding standard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187808 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0e910d2cb5
commit
7198ee6f62
@ -96,7 +96,7 @@ namespace {
|
||||
public:
|
||||
|
||||
LUAnalysisCache() :
|
||||
CurLoopInstructions(NULL), CurrentLoopProperties(NULL),
|
||||
CurLoopInstructions(0), CurrentLoopProperties(0),
|
||||
MaxSize(Threshold)
|
||||
{}
|
||||
|
||||
@ -151,8 +151,8 @@ namespace {
|
||||
static char ID; // Pass ID, replacement for typeid
|
||||
explicit LoopUnswitch(bool Os = false) :
|
||||
LoopPass(ID), OptimizeForSize(Os), redoLoop(false),
|
||||
currentLoop(NULL), DT(NULL), loopHeader(NULL),
|
||||
loopPreheader(NULL) {
|
||||
currentLoop(0), DT(0), loopHeader(0),
|
||||
loopPreheader(0) {
|
||||
initializeLoopUnswitchPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
|
||||
@ -225,12 +225,14 @@ namespace {
|
||||
// it. Returns true if we can unswitch this loop.
|
||||
bool LUAnalysisCache::countLoop(const Loop *L, const TargetTransformInfo &TTI) {
|
||||
|
||||
std::pair<LoopPropsMapIt, bool> InsertRes =
|
||||
LoopPropsMapIt PropsIt;
|
||||
bool Inserted;
|
||||
llvm::tie(PropsIt, Inserted) =
|
||||
LoopsProperties.insert(std::make_pair(L, LoopProperties()));
|
||||
|
||||
LoopProperties& Props = InsertRes.first->second;
|
||||
LoopProperties &Props = PropsIt->second;
|
||||
|
||||
if (InsertRes.second) {
|
||||
if (Inserted) {
|
||||
// New loop.
|
||||
|
||||
// Limit the number of instructions to avoid causing significant code
|
||||
@ -242,8 +244,7 @@ bool LUAnalysisCache::countLoop(const Loop *L, const TargetTransformInfo &TTI) {
|
||||
// consideration code simplification opportunities and code that can
|
||||
// be shared by the resultant unswitched loops.
|
||||
CodeMetrics Metrics;
|
||||
for (Loop::block_iterator I = L->block_begin(),
|
||||
E = L->block_end();
|
||||
for (Loop::block_iterator I = L->block_begin(), E = L->block_end();
|
||||
I != E; ++I)
|
||||
Metrics.analyzeBasicBlock(*I, TTI);
|
||||
|
||||
@ -263,7 +264,6 @@ bool LUAnalysisCache::countLoop(const Loop *L, const TargetTransformInfo &TTI) {
|
||||
DEBUG(dbgs() << "NOT unswitching loop %"
|
||||
<< L->getHeader()->getName() << ", cost too high: "
|
||||
<< L->getBlocks().size() << "\n");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -285,8 +285,8 @@ void LUAnalysisCache::forgetLoop(const Loop* L) {
|
||||
LoopsProperties.erase(LIt);
|
||||
}
|
||||
|
||||
CurrentLoopProperties = NULL;
|
||||
CurLoopInstructions = NULL;
|
||||
CurrentLoopProperties = 0;
|
||||
CurLoopInstructions = 0;
|
||||
}
|
||||
|
||||
// Mark case value as unswitched.
|
||||
@ -458,7 +458,7 @@ bool LoopUnswitch::processCurrentLoop() {
|
||||
// Find a value to unswitch on:
|
||||
// FIXME: this should chose the most expensive case!
|
||||
// FIXME: scan for a case with a non-critical edge?
|
||||
Constant *UnswitchVal = NULL;
|
||||
Constant *UnswitchVal = 0;
|
||||
|
||||
// Do not process same value again and again.
|
||||
// At this point we have some cases already unswitched and
|
||||
@ -511,7 +511,8 @@ static bool isTrivialLoopExitBlockHelper(Loop *L, BasicBlock *BB,
|
||||
// Already visited. Without more analysis, this could indicate an infinite
|
||||
// loop.
|
||||
return false;
|
||||
} else if (!L->contains(BB)) {
|
||||
}
|
||||
if (!L->contains(BB)) {
|
||||
// Otherwise, this is a loop exit, this is fine so long as this is the
|
||||
// first exit.
|
||||
if (ExitBB != 0) return false;
|
||||
@ -854,9 +855,8 @@ void LoopUnswitch::UnswitchNontrivialCondition(Value *LIC, Constant *Val,
|
||||
|
||||
// If the successor of the exit block had PHI nodes, add an entry for
|
||||
// NewExit.
|
||||
PHINode *PN;
|
||||
for (BasicBlock::iterator I = ExitSucc->begin(); isa<PHINode>(I); ++I) {
|
||||
PN = cast<PHINode>(I);
|
||||
for (BasicBlock::iterator I = ExitSucc->begin();
|
||||
PHINode *PN = dyn_cast<PHINode>(I); ++I) {
|
||||
Value *V = PN->getIncomingValueForBlock(ExitBlocks[i]);
|
||||
ValueToValueMapTy::iterator It = VMap.find(V);
|
||||
if (It != VMap.end()) V = It->second;
|
||||
@ -864,7 +864,7 @@ void LoopUnswitch::UnswitchNontrivialCondition(Value *LIC, Constant *Val,
|
||||
}
|
||||
|
||||
if (LandingPadInst *LPad = NewExit->getLandingPadInst()) {
|
||||
PN = PHINode::Create(LPad->getType(), 0, "",
|
||||
PHINode *PN = PHINode::Create(LPad->getType(), 0, "",
|
||||
ExitSucc->getFirstInsertionPt());
|
||||
|
||||
for (pred_iterator I = pred_begin(ExitSucc), E = pred_end(ExitSucc);
|
||||
@ -957,10 +957,8 @@ void LoopUnswitch::RemoveBlockIfDead(BasicBlock *BB,
|
||||
// are any easy simplifications we can do now.
|
||||
if (BasicBlock *Pred = BB->getSinglePredecessor()) {
|
||||
// If it has one pred, fold phi nodes in BB.
|
||||
while (isa<PHINode>(BB->begin()))
|
||||
ReplaceUsesOfWith(BB->begin(),
|
||||
cast<PHINode>(BB->begin())->getIncomingValue(0),
|
||||
Worklist, L, LPM);
|
||||
while (PHINode *PN = dyn_cast<PHINode>(BB->begin()))
|
||||
ReplaceUsesOfWith(PN, PN->getIncomingValue(0), Worklist, L, LPM);
|
||||
|
||||
// If this is the header of a loop and the only pred is the latch, we now
|
||||
// have an unreachable loop.
|
||||
@ -1020,7 +1018,6 @@ void LoopUnswitch::RemoveBlockIfDead(BasicBlock *BB,
|
||||
// was in.
|
||||
LI->removeBlock(BB);
|
||||
|
||||
|
||||
// Remove phi node entries in successors for this block.
|
||||
TerminatorInst *TI = BB->getTerminator();
|
||||
SmallVector<BasicBlock*, 4> Succs;
|
||||
@ -1088,7 +1085,6 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
|
||||
std::vector<Instruction*> Worklist;
|
||||
LLVMContext &Context = Val->getContext();
|
||||
|
||||
|
||||
// If we know that LIC == Val, or that LIC == NotVal, just replace uses of LIC
|
||||
// in the loop with the appropriate one directly.
|
||||
if (IsEqual || (isa<ConstantInt>(Val) &&
|
||||
@ -1108,8 +1104,8 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
|
||||
Worklist.push_back(U);
|
||||
}
|
||||
|
||||
for (std::vector<Instruction*>::iterator UI = Worklist.begin();
|
||||
UI != Worklist.end(); ++UI)
|
||||
for (std::vector<Instruction*>::iterator UI = Worklist.begin(),
|
||||
UE = Worklist.end(); UI != UE; ++UI)
|
||||
(*UI)->replaceUsesOfWith(LIC, Replacement);
|
||||
|
||||
SimplifyCode(Worklist, L);
|
||||
|
Loading…
Reference in New Issue
Block a user