Skip to content
  • Chris Lattner's avatar
    Reimplement the parameter attributes support, phase #1. hilights: · 8a923e7c
    Chris Lattner authored
    1. There is now a "PAListPtr" class, which is a smart pointer around
       the underlying uniqued parameter attribute list object, and manages
       its refcount.  It is now impossible to mess up the refcount.
    2. PAListPtr is now the main interface to the underlying object, and
       the underlying object is now completely opaque.
    3. Implementation details like SmallVector and FoldingSet are now no
       longer part of the interface.
    4. You can create a PAListPtr with an arbitrary sequence of
       ParamAttrsWithIndex's, no need to make a SmallVector of a specific 
       size (you can just use an array or scalar or vector if you wish).
    5. All the client code that had to check for a null pointer before
       dereferencing the pointer is simplified to just access the 
       PAListPtr directly.
    6. The interfaces for adding attrs to a list and removing them is a
       bit simpler.
    
    Phase #2 will rename some stuff (e.g. PAListPtr) and do other less 
    invasive changes.
    
    llvm-svn: 48289
    8a923e7c
Loading