forked from OSchip/llvm-project
Replace some instances of UniqueVector with SetVector, which is slightly cheaper.
No functionality change. llvm-svn: 167116
This commit is contained in:
parent
9e74dd97b8
commit
1559127f6f
|
@ -850,9 +850,9 @@ void DwarfDebug::endModule() {
|
||||||
Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("data_end"));
|
Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("data_end"));
|
||||||
|
|
||||||
// End text sections.
|
// End text sections.
|
||||||
for (unsigned i = 1, N = SectionMap.size(); i <= N; ++i) {
|
for (unsigned I = 0, E = SectionMap.size(); I != E; ++I) {
|
||||||
Asm->OutStreamer.SwitchSection(SectionMap[i]);
|
Asm->OutStreamer.SwitchSection(SectionMap[I]);
|
||||||
Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("section_end", i));
|
Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("section_end", I+1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute DIE offsets and sizes.
|
// Compute DIE offsets and sizes.
|
||||||
|
|
|
@ -21,9 +21,9 @@
|
||||||
#include "llvm/MC/MachineLocation.h"
|
#include "llvm/MC/MachineLocation.h"
|
||||||
#include "llvm/ADT/DenseMap.h"
|
#include "llvm/ADT/DenseMap.h"
|
||||||
#include "llvm/ADT/FoldingSet.h"
|
#include "llvm/ADT/FoldingSet.h"
|
||||||
|
#include "llvm/ADT/SetVector.h"
|
||||||
#include "llvm/ADT/SmallPtrSet.h"
|
#include "llvm/ADT/SmallPtrSet.h"
|
||||||
#include "llvm/ADT/StringMap.h"
|
#include "llvm/ADT/StringMap.h"
|
||||||
#include "llvm/ADT/UniqueVector.h"
|
|
||||||
#include "llvm/Support/Allocator.h"
|
#include "llvm/Support/Allocator.h"
|
||||||
#include "llvm/Support/DebugLoc.h"
|
#include "llvm/Support/DebugLoc.h"
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ class DwarfDebug {
|
||||||
|
|
||||||
/// SectionMap - Provides a unique id per text section.
|
/// SectionMap - Provides a unique id per text section.
|
||||||
///
|
///
|
||||||
UniqueVector<const MCSection*> SectionMap;
|
SetVector<const MCSection*> SectionMap;
|
||||||
|
|
||||||
/// CurrentFnArguments - List of Arguments (DbgValues) for current function.
|
/// CurrentFnArguments - List of Arguments (DbgValues) for current function.
|
||||||
SmallVector<DbgVariable *, 8> CurrentFnArguments;
|
SmallVector<DbgVariable *, 8> CurrentFnArguments;
|
||||||
|
|
|
@ -28,9 +28,9 @@
|
||||||
#include "llvm/Analysis/CallGraph.h"
|
#include "llvm/Analysis/CallGraph.h"
|
||||||
#include "llvm/Analysis/CaptureTracking.h"
|
#include "llvm/Analysis/CaptureTracking.h"
|
||||||
#include "llvm/ADT/SCCIterator.h"
|
#include "llvm/ADT/SCCIterator.h"
|
||||||
|
#include "llvm/ADT/SetVector.h"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
#include "llvm/ADT/SmallSet.h"
|
||||||
#include "llvm/ADT/Statistic.h"
|
#include "llvm/ADT/Statistic.h"
|
||||||
#include "llvm/ADT/UniqueVector.h"
|
|
||||||
#include "llvm/Support/InstIterator.h"
|
#include "llvm/Support/InstIterator.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
@ -486,13 +486,13 @@ bool FunctionAttrs::AddNoCaptureAttrs(const CallGraphSCC &SCC) {
|
||||||
/// or a pointer that doesn't alias any other pointer visible to the caller.
|
/// or a pointer that doesn't alias any other pointer visible to the caller.
|
||||||
bool FunctionAttrs::IsFunctionMallocLike(Function *F,
|
bool FunctionAttrs::IsFunctionMallocLike(Function *F,
|
||||||
SmallPtrSet<Function*, 8> &SCCNodes) const {
|
SmallPtrSet<Function*, 8> &SCCNodes) const {
|
||||||
UniqueVector<Value *> FlowsToReturn;
|
SmallSetVector<Value *, 8> FlowsToReturn;
|
||||||
for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I)
|
for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I)
|
||||||
if (ReturnInst *Ret = dyn_cast<ReturnInst>(I->getTerminator()))
|
if (ReturnInst *Ret = dyn_cast<ReturnInst>(I->getTerminator()))
|
||||||
FlowsToReturn.insert(Ret->getReturnValue());
|
FlowsToReturn.insert(Ret->getReturnValue());
|
||||||
|
|
||||||
for (unsigned i = 0; i != FlowsToReturn.size(); ++i) {
|
for (unsigned i = 0; i != FlowsToReturn.size(); ++i) {
|
||||||
Value *RetVal = FlowsToReturn[i+1]; // UniqueVector[0] is reserved.
|
Value *RetVal = FlowsToReturn[i];
|
||||||
|
|
||||||
if (Constant *C = dyn_cast<Constant>(RetVal)) {
|
if (Constant *C = dyn_cast<Constant>(RetVal)) {
|
||||||
if (!C->isNullValue() && !isa<UndefValue>(C))
|
if (!C->isNullValue() && !isa<UndefValue>(C))
|
||||||
|
|
Loading…
Reference in New Issue