Refactor the RelocVisitor::visit method
authorRenato Golin <renato.golin@linaro.org>
Wed, 24 Sep 2014 17:00:42 +0000 (17:00 +0000)
committerRenato Golin <renato.golin@linaro.org>
Wed, 24 Sep 2014 17:00:42 +0000 (17:00 +0000)
commitfaac033f7364bb4226e22c8079c221c96af10d02
tree3e6088934b4b9efebfb6a5237358071b8f057414
parentcfc42962c8c730d62c8483d351843802a1aca802
Refactor the RelocVisitor::visit method

This change replaces the brittle if/else chain of string comparisons
with a switch statement on the detected target triple, removing the
need for testing arbitrary architecture names returned from
getFileFormatName, whose primary purpose seems to be for display
(user-interface) purposes. The visitor now takes a reference to the
object file, rather than its arbitrary file format name to figure out
whether the file is a 32 or 64-bit object file and what the detected
target triple is.

A set of tests have been added to help show that the refactoring processes
relocations for the same targets as the original code.

Patch by Charlie Turner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218388 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Object/ELFObjectFile.h
include/llvm/Object/RelocVisitor.h
lib/DebugInfo/DWARFContext.cpp
test/DebugInfo/processes-relocations.ll [new file with mode: 0644]