mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-23 22:23:00 +00:00
simplify getSectionForMergableConstant to take a SectionKind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77134 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -29,7 +29,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#define DEBUG_TYPE "elfwriter"
|
||||
|
||||
#include "ELF.h"
|
||||
#include "ELFWriter.h"
|
||||
#include "ELFCodeEmitter.h"
|
||||
@@ -155,10 +154,21 @@ ELFSection &ELFWriter::getJumpTableSection() {
|
||||
|
||||
// Get a constant pool section based on the section name returned by TAI
|
||||
ELFSection &ELFWriter::getConstantPoolSection(MachineConstantPoolEntry &CPE) {
|
||||
uint64_t Size = TM.getTargetData()->getTypeAllocSize(CPE.getType());
|
||||
SectionKind Kind;
|
||||
switch (CPE.getRelocationInfo()) {
|
||||
default: llvm_unreachable("Unknown section kind");
|
||||
case 2: Kind = SectionKind::getReadOnlyWithRel(); break;
|
||||
case 1: Kind = SectionKind::getReadOnlyWithRelLocal(); break;
|
||||
case 0:
|
||||
switch (TM.getTargetData()->getTypeAllocSize(CPE.getType())) {
|
||||
case 4: Kind = SectionKind::getMergableConst4(); break;
|
||||
case 8: Kind = SectionKind::getMergableConst8(); break;
|
||||
case 16: Kind = SectionKind::getMergableConst16(); break;
|
||||
default: Kind = SectionKind::getMergableConst(); break;
|
||||
}
|
||||
}
|
||||
|
||||
std::string CstPoolName =
|
||||
TAI->getSectionForMergableConstant(Size,CPE.getRelocationInfo())->getName();
|
||||
std::string CstPoolName = TAI->getSectionForMergableConstant(Kind)->getName();
|
||||
return getSection(CstPoolName,
|
||||
ELFSection::SHT_PROGBITS,
|
||||
ELFSection::SHF_MERGE | ELFSection::SHF_ALLOC,
|
||||
|
||||
Reference in New Issue
Block a user