[llvm-commits] [llvm] r47342 - in /llvm/trunk: include/llvm/ include/llvm/Support/ lib/AsmParser/ lib/Bitcode/Writer/ lib/Transforms/IPO/ lib/Transforms/Scalar/ lib/VMCore/ tools/llvm2cpp/

Chris Lattner clattner at apple.com
Tue Feb 19 20:04:58 PST 2008


On Feb 19, 2008, at 1:38 PM, Dale Johannesen wrote:

> Author: johannes
> Date: Tue Feb 19 15:38:47 2008
> New Revision: 47342
>
> URL: http://llvm.org/viewvc/llvm-project?rev=47342&view=rev
> Log:
> Expand ParameterAttributes to 32 bits (in preparation
> for adding alignment info, not there yet).  Clean up
> interfaces to reference ParameterAttributes consistently.

Very very nice Dale.  Yay for enums.  Two minor requests :)

First, the ParamAttrsWithIndex looks like it needs to grow the 'attrs'  
member to 32-bits.

Second:

> #include "llvm/BasicBlock.h"
> #include "llvm/Argument.h"
> #include "llvm/Support/Annotation.h"
> +#include "llvm/ParameterAttributes.h"

The problem with this (which was added in several places) is that this  
pulls in several headers just to get some enum values.

llvm/ParameterAttributes.h contains two things: 1) a bunch of enums  
plus the ParamAttrsWithIndex struct and 2) the ParamAttrsVector +  
ParamAttrsList stuff.

The former is just simple types, the later requires SmallVector and  
FoldingSet.

Please split the second half of ParameterAttributes.h into a new  
ParamAttrsList.h file. ParamAttrsList.h should #include  
ParameterAttributes.h, so it serves as well as the old  
ParameterAttributes.h did.  However,   I'd like to make it so that  
other headers only include the former "light" header, and only .cpp  
files #include the full header.  Is this reasonable?

-Chris



More information about the llvm-commits mailing list