[llvm-commits] [llvm] r173270 - in /llvm/trunk: include/llvm/MC/MCAsmInfo.h lib/MC/MCAsmInfo.cpp lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp

Jim Grosbach grosbach at apple.com
Wed Feb 6 14:16:13 PST 2013


Hi Eli,

I really don't like this patch. This imposes additional burden on every target due to the odd requirements of one configuration of X86. That's really backwards. Can you elaborate on why you believe this is worth it?

-Jim



On Jan 23, 2013, at 8:22 AM, Eli Bendersky <eliben at google.com> wrote:

> Author: eliben
> Date: Wed Jan 23 10:22:04 2013
> New Revision: 173270
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=173270&view=rev
> Log:
> Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default.
> 
> Modified:
>    llvm/trunk/include/llvm/MC/MCAsmInfo.h
>    llvm/trunk/lib/MC/MCAsmInfo.cpp
>    llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp
>    llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
>    llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
>    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
>    llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
> 
> Modified: llvm/trunk/include/llvm/MC/MCAsmInfo.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCAsmInfo.h?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/MCAsmInfo.h (original)
> +++ llvm/trunk/include/llvm/MC/MCAsmInfo.h Wed Jan 23 10:22:04 2013
> @@ -351,12 +351,7 @@
>     /// getCalleeSaveStackSlotSize - Get the callee-saved register stack slot
>     /// size in bytes.
>     unsigned getCalleeSaveStackSlotSize() const {
> -      // If a target doesn't explicitly initialize this member, PointerSize is
> -      // used by default.
> -      if (CalleeSaveStackSlotSize == 0)
> -        return PointerSize;
> -      else
> -        return CalleeSaveStackSlotSize;
> +      return CalleeSaveStackSlotSize;
>     }
> 
>     /// isLittleEndian - True if the target is little endian.
> 
> Modified: llvm/trunk/lib/MC/MCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/MC/MCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -24,7 +24,7 @@
> 
> MCAsmInfo::MCAsmInfo() {
>   PointerSize = 4;
> -  CalleeSaveStackSlotSize = 0; // 0 means PointerSize is used in getter.
> +  CalleeSaveStackSlotSize = 4;
> 
>   IsLittleEndian = true;
>   StackGrowsUp = false;
> 
> Modified: llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -18,7 +18,7 @@
> void MSP430MCAsmInfo::anchor() { }
> 
> MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, StringRef TT) {
> -  PointerSize = 2;
> +  PointerSize = CalleeSaveStackSlotSize = 2;
> 
>   PrivateGlobalPrefix = ".L";
>   WeakRefDirective ="\t.weak\t";
> 
> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -25,8 +25,9 @@
>     IsLittleEndian = false;
> 
>   if ((TheTriple.getArch() == Triple::mips64el) ||
> -      (TheTriple.getArch() == Triple::mips64))
> -    PointerSize = 8;
> +      (TheTriple.getArch() == Triple::mips64)) {
> +    PointerSize = CalleeSaveStackSlotSize = 8;
> +  }
> 
>   AlignmentIsInBytes          = false;
>   Data16bitsDirective         = "\t.2byte\t";
> 
> Modified: llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -30,8 +30,9 @@
> 
> NVPTXMCAsmInfo::NVPTXMCAsmInfo(const Target &T, const StringRef &TT) {
>   Triple TheTriple(TT);
> -  if (TheTriple.getArch() == Triple::nvptx64)
> -    PointerSize = 8;
> +  if (TheTriple.getArch() == Triple::nvptx64) {
> +    PointerSize = CalleeSaveStackSlotSize = 8;
> +  }
> 
>   CommentString = "//";
> 
> 
> Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -17,8 +17,9 @@
> void PPCMCAsmInfoDarwin::anchor() { }
> 
> PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {
> -  if (is64Bit)
> -    PointerSize = 8;
> +  if (is64Bit) {
> +    PointerSize = CalleeSaveStackSlotSize = 8;
> +  }
>   IsLittleEndian = false;
> 
>   PCSymbol = ".";
> 
> Modified: llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp?rev=173270&r1=173269&r2=173270&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp (original)
> +++ llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp Wed Jan 23 10:22:04 2013
> @@ -21,8 +21,9 @@
> SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, StringRef TT) {
>   IsLittleEndian = false;
>   Triple TheTriple(TT);
> -  if (TheTriple.getArch() == Triple::sparcv9)
> -    PointerSize = 8;
> +  if (TheTriple.getArch() == Triple::sparcv9) {
> +    PointerSize = CalleeSaveStackSlotSize = 8;
> +  }
> 
>   Data16bitsDirective = "\t.half\t";
>   Data32bitsDirective = "\t.word\t";
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list