Simplify.
authorRui Ueyama <ruiu@google.com>
Tue, 24 Oct 2017 19:40:03 +0000 (19:40 +0000)
committerRui Ueyama <ruiu@google.com>
Tue, 24 Oct 2017 19:40:03 +0000 (19:40 +0000)
llvm-svn: 316486

lld/ELF/Arch/AMDGPU.cpp

index 4d283d3..6fa6421 100644 (file)
@@ -38,21 +38,21 @@ AMDGPU::AMDGPU() {
   GotEntrySize = 8;
 }
 
-uint32_t AMDGPU::calcEFlags() const {
-  if (ObjectFiles.empty())
-    return 0;
+static uint32_t getEFlags(InputFile *File) {
+  return cast<ObjFile<ELF64LE>>(File)->getObj().getHeader()->e_flags;
+}
 
-  uint32_t Ret =
-    cast<ObjFile<ELF64LE>>(ObjectFiles.front())->getObj().getHeader()->e_flags;
+uint32_t AMDGPU::calcEFlags() const {
+  assert(!ObjectFiles.empty());
+  uint32_t Ret = getEFlags(ObjectFiles[0]);
 
   // Verify that all input files have the same e_flags.
-  for (InputFile *F : ArrayRef<InputFile*>(ObjectFiles).slice(1)) {
-    if (Ret != cast<ObjFile<ELF64LE>>(F)->getObj().getHeader()->e_flags) {
-      error("incompatible e_flags: " + toString(F));
-      return 0;
-    }
+  for (InputFile *F : makeArrayRef(ObjectFiles).slice(1)) {
+    if (Ret == getEFlags(F))
+      continue;
+    error("incompatible e_flags: " + toString(F));
+    return 0;
   }
-
   return Ret;
 }