1 //===-- RISCVMCObjectFileInfo.cpp - RISCV object file properties ----------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file contains the declarations of the RISCVMCObjectFileInfo properties. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "RISCVMCObjectFileInfo.h" 14 #include "RISCVMCTargetDesc.h" 15 #include "llvm/MC/MCContext.h" 16 #include "llvm/MC/MCSubtargetInfo.h" 17 18 using namespace llvm; 19 20 unsigned RISCVMCObjectFileInfo::getTextSectionAlignment() const { 21 const MCSubtargetInfo *STI = getContext().getSubtargetInfo(); 22 return (STI->hasFeature(RISCV::FeatureStdExtC) || 23 STI->hasFeature(RISCV::FeatureExtZca)) 24 ? 2 25 : 4; 26 } 27