summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/CoreLinkingContext.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2015-06-19 19:43:43 +0000
committerDavid Blaikie <dblaikie@gmail.com>2015-06-19 19:43:43 +0000
commit25ddcb4c27fb17a2173cf43159952900a72b3ac4 (patch)
tree0948b5742008583ee84126e12d101af81113e3c9 /lld/lib/ReaderWriter/CoreLinkingContext.cpp
parent512c682984e8cfdee9a9e9cdeaebf941cdb5a140 (diff)
downloadbcm5719-llvm-25ddcb4c27fb17a2173cf43159952900a72b3ac4.tar.gz
bcm5719-llvm-25ddcb4c27fb17a2173cf43159952900a72b3ac4.zip
Simplify Pass::perform to take a SimpleFile& instead of unique_ptr<SimpleFile>&
None of the implementations replace the SimpleFile with some other file, they just modify the SimpleFile in-place, so a direct reference to the file is sufficient. llvm-svn: 240167
Diffstat (limited to 'lld/lib/ReaderWriter/CoreLinkingContext.cpp')
-rw-r--r--lld/lib/ReaderWriter/CoreLinkingContext.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/lld/lib/ReaderWriter/CoreLinkingContext.cpp b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
index 103fed80458..2f4752bf877 100644
--- a/lld/lib/ReaderWriter/CoreLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
@@ -22,8 +22,8 @@ namespace {
class OrderPass : public Pass {
public:
/// Sorts atoms by position
- std::error_code perform(std::unique_ptr<SimpleFile> &file) override {
- SimpleFile::DefinedAtomRange defined = file->definedAtoms();
+ std::error_code perform(SimpleFile &file) override {
+ SimpleFile::DefinedAtomRange defined = file.definedAtoms();
std::sort(defined.begin(), defined.end(), DefinedAtom::compareByPosition);
return std::error_code();
}
@@ -40,10 +40,8 @@ bool CoreLinkingContext::validateImpl(raw_ostream &) {
void CoreLinkingContext::addPasses(PassManager &pm) {
for (StringRef name : _passNames) {
- if (name.equals("order"))
- pm.add(std::unique_ptr<Pass>(new OrderPass()));
- else
- llvm_unreachable("bad pass name");
+ assert(name == "order" && "bad pass name");
+ pm.add(std::unique_ptr<Pass>(new OrderPass()));
}
}
OpenPOWER on IntegriCloud