Simplify the handling of iterators in ObjectFile.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 30 Jan 2014 02:49:50 +0000 (02:49 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 30 Jan 2014 02:49:50 +0000 (02:49 +0000)
commitefdbec8b0a49fb67c3844be703548fdc6c1dded0
tree040894fc0c18d09dfdfec8693a253bcf998cb8c5
parent6bf3966f7fd92217360877d1c04ea8ffe47c11cc
Simplify the handling of iterators in ObjectFile.

None of the object file formats reported error on iterator increment. In
retrospect, that is not too surprising: no object format stores symbols or
sections in a linked list or other structure that requires chasing pointers.
As a consequence, all error checking can be done on begin() and end().

This reduces the text segment of bin/llvm-readobj in my machine from 521233 to
518526 bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200442 91177308-0d34-0410-b5e6-96231b3b80d8
25 files changed:
include/llvm/Object/COFF.h
include/llvm/Object/ELFObjectFile.h
include/llvm/Object/MachO.h
include/llvm/Object/ObjectFile.h
lib/DebugInfo/DWARFContext.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
lib/MC/MCObjectDisassembler.cpp
lib/MC/MCObjectSymbolizer.cpp
lib/Object/COFFObjectFile.cpp
lib/Object/MachOObjectFile.cpp
lib/Object/Object.cpp
lib/Target/X86/MCTargetDesc/X86MachORelocationInfo.cpp
tools/llvm-ar/llvm-ar.cpp
tools/llvm-nm/llvm-nm.cpp
tools/llvm-objdump/COFFDump.cpp
tools/llvm-objdump/MachODump.cpp
tools/llvm-objdump/llvm-objdump.cpp
tools/llvm-readobj/COFFDumper.cpp
tools/llvm-readobj/MachODumper.cpp
tools/llvm-rtdyld/llvm-rtdyld.cpp
tools/llvm-size/llvm-size.cpp
tools/llvm-symbolizer/LLVMSymbolize.cpp
tools/macho-dump/macho-dump.cpp
tools/obj2yaml/coff2yaml.cpp