Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
Line
Count
Source
1
//===-- AMDGPUHSATargetObjectFile.cpp - AMDGPU Object Files ---------------===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#include "AMDGPUTargetObjectFile.h"
11
#include "AMDGPU.h"
12
#include "AMDGPUTargetMachine.h"
13
#include "Utils/AMDGPUBaseInfo.h"
14
#include "llvm/BinaryFormat/ELF.h"
15
#include "llvm/MC/MCContext.h"
16
#include "llvm/MC/MCSectionELF.h"
17
18
using namespace llvm;
19
20
//===----------------------------------------------------------------------===//
21
// Generic Object File
22
//===----------------------------------------------------------------------===//
23
24
MCSection *AMDGPUTargetObjectFile::SelectSectionForGlobal(
25
17.1k
    const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const {
26
17.1k
  auto AS = static_cast<const AMDGPUTargetMachine*>(&TM)->getAMDGPUAS();
27
17.1k
  if (
Kind.isReadOnly() && 17.1k
AMDGPU::isReadOnlySegment(GO, AS)37
&&
28
37
      AMDGPU::shouldEmitConstantsToTextSection(TM.getTargetTriple()))
29
33
    return TextSection;
30
17.1k
31
17.1k
  return TargetLoweringObjectFileELF::SelectSectionForGlobal(GO, Kind, TM);
32
17.1k
}