[llvm-commits] [llvm] r62301 - /llvm/trunk/include/llvm/CodeGen/AsmPrinter.h

Chris Lattner clattner at apple.com
Thu Jan 15 19:40:49 PST 2009


On Jan 15, 2009, at 6:45 PM, Sanjiv Gupta wrote:

> Author: sgupta
> Date: Thu Jan 15 20:45:46 2009
> New Revision: 62301
>
> URL: http://llvm.org/viewvc/llvm-project?rev=62301&view=rev
> Log:
> Few targets do not have a single directive to emit global constants.
> For example, PIC16 needs to break a long or int constant into  
> mulitple parts and emit multiple directives. So Allow targets to  
> overried EmitConstantValueOnly().

Hi Sanjiv,

I don't think this is the right approach.  EmitConstantValueOnly  
should handle this case directly by checking to see if you have a  
directive to emit a 32-bit integer value.  This is how we handle "lack  
of i64 emission" on 32-bit targets.

-Chris

>
>
> Modified:
>    llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
>
> Modified: llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/AsmPrinter.h?rev=62301&r1=62300&r2=62301&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/include/llvm/CodeGen/AsmPrinter.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/AsmPrinter.h Thu Jan 15 20:45:46  
> 2009
> @@ -317,7 +317,7 @@
>
>     /// EmitConstantValueOnly - Print out the specified constant,  
> without a
>     /// storage class.  Only constants of first-class type are  
> allowed here.
> -    void EmitConstantValueOnly(const Constant *CV);
> +    virtual void EmitConstantValueOnly(const Constant *CV);
>
>     /// EmitGlobalConstant - Print a general LLVM constant to the .s  
> file.
>     void EmitGlobalConstant(const Constant* CV);
>
>
> _______________________________________________
> 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