Skip to content

Commit

Permalink
[mips] Compute stack alignment on the fly.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193673 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
ahatanak committed Oct 30, 2013
1 parent 62406fd commit 99a43d3
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 7 deletions.
4 changes: 1 addition & 3 deletions lib/Target/Mips/Mips.td
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,10 @@ def MipsInstrInfo : InstrInfo;
// Mips Subtarget features //
//===----------------------------------------------------------------------===//

def StackAlign16 : SubtargetFeature<"stackalign16", "StackAlignment", "16",
"Set stack alignment to 16-bytes.">;
def FeatureGP64Bit : SubtargetFeature<"gp64", "IsGP64bit", "true",
"General Purpose Registers are 64-bit wide.">;
def FeatureFP64Bit : SubtargetFeature<"fp64", "IsFP64bit", "true",
"Support 64-bit FP registers.", [StackAlign16]>;
"Support 64-bit FP registers.">;
def FeatureSingleFloat : SubtargetFeature<"single-float", "IsSingleFloat",
"true", "Only supports single precision float">;
def FeatureO32 : SubtargetFeature<"o32", "MipsABI", "O32",
Expand Down
2 changes: 1 addition & 1 deletion lib/Target/Mips/MipsSubtarget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
InMips16Mode(false), InMips16HardFloat(Mips16HardFloat),
InMicroMipsMode(false), HasDSP(false), HasDSPR2(false),
AllowMixed16_32(Mixed16_32 | Mips_Os16), Os16(Mips_Os16), HasMSA(false),
StackAlignment(8), RM(_RM), OverrideMode(NoOverride), TM(_TM)
RM(_RM), OverrideMode(NoOverride), TM(_TM)
{
std::string CPUName = CPU;
if (CPUName.empty())
Expand Down
4 changes: 1 addition & 3 deletions lib/Target/Mips/MipsSubtarget.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,6 @@ class MipsSubtarget : public MipsGenSubtargetInfo {
// HasMSA -- supports MSA ASE.
bool HasMSA;

unsigned StackAlignment;

InstrItineraryData InstrItins;

// The instance to the register info section object
Expand Down Expand Up @@ -219,7 +217,7 @@ class MipsSubtarget : public MipsGenSubtargetInfo {
//
static bool useConstantIslands();

unsigned stackAlignment() const { return StackAlignment; }
unsigned stackAlignment() const { return isFP64bit() ? 16 : 8; }

// Grab MipsRegInfo object
const MipsReginfo &getMReginfo() const { return MRI; }
Expand Down

0 comments on commit 99a43d3

Please sign in to comment.