aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-extract/llvm-extract.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-extract/llvm-extract.cpp')
-rw-r--r--tools/llvm-extract/llvm-extract.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp
index 2e5a2af..0f70868 100644
--- a/tools/llvm-extract/llvm-extract.cpp
+++ b/tools/llvm-extract/llvm-extract.cpp
@@ -22,6 +22,7 @@
#include "llvm/IRReader/IRReader.h"
#include "llvm/PassManager.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Regex.h"
@@ -103,7 +104,7 @@ int main(int argc, char **argv) {
std::unique_ptr<Module> M;
M.reset(getLazyIRFileModule(InputFilename, Err, Context));
- if (M.get() == 0) {
+ if (!M.get()) {
Err.print(argv[0], errs());
return 1;
}
@@ -165,10 +166,9 @@ int main(int argc, char **argv) {
"invalid regex: " << Error;
}
bool match = false;
- for (Module::global_iterator GV = M->global_begin(),
- E = M->global_end(); GV != E; GV++) {
- if (RegEx.match(GV->getName())) {
- GVs.insert(&*GV);
+ for (auto &GV : M->globals()) {
+ if (RegEx.match(GV.getName())) {
+ GVs.insert(&GV);
match = true;
}
}
@@ -228,22 +228,19 @@ int main(int argc, char **argv) {
else {
// Deleting. Materialize every GV that's *not* in GVs.
SmallPtrSet<GlobalValue *, 8> GVSet(GVs.begin(), GVs.end());
- for (Module::global_iterator I = M->global_begin(), E = M->global_end();
- I != E; ++I) {
- GlobalVariable *G = I;
- if (!GVSet.count(G) && G->isMaterializable()) {
+ for (auto &G : M->globals()) {
+ if (!GVSet.count(&G) && G.isMaterializable()) {
std::string ErrInfo;
- if (G->Materialize(&ErrInfo)) {
+ if (G.Materialize(&ErrInfo)) {
errs() << argv[0] << ": error reading input: " << ErrInfo << "\n";
return 1;
}
}
}
- for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) {
- Function *F = I;
- if (!GVSet.count(F) && F->isMaterializable()) {
+ for (auto &F : *M) {
+ if (!GVSet.count(&F) && F.isMaterializable()) {
std::string ErrInfo;
- if (F->Materialize(&ErrInfo)) {
+ if (F.Materialize(&ErrInfo)) {
errs() << argv[0] << ": error reading input: " << ErrInfo << "\n";
return 1;
}