[llvm] r304177 - [TableGen] Introduce DagInit::getArgs that returns an ArrayRef. Use it to fix 80 column violations in arg_begin/arg_end. Remove DagInit::args and use getArgs instead. NFC

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 5 11:34:45 PDT 2017


On Mon, May 29, 2017 at 2:49 PM Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: ctopper
> Date: Mon May 29 16:49:34 2017
> New Revision: 304177
>
> URL: http://llvm.org/viewvc/llvm-project?rev=304177&view=rev
> Log:
> [TableGen] Introduce DagInit::getArgs that returns an ArrayRef. Use it to
> fix 80 column violations in arg_begin/arg_end. Remove DagInit::args and use
> getArgs instead. NFC
>
> Modified:
>     llvm/trunk/include/llvm/TableGen/Record.h
>     llvm/trunk/lib/TableGen/Record.cpp
>     llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp
>
> Modified: llvm/trunk/include/llvm/TableGen/Record.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/TableGen/Record.h?rev=304177&r1=304176&r2=304177&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/TableGen/Record.h (original)
> +++ llvm/trunk/include/llvm/TableGen/Record.h Mon May 29 16:49:34 2017
> @@ -1189,6 +1189,9 @@ public:
>      return Init ? Init->getValue() : StringRef();
>    }
>
> +  ArrayRef<Init *> getArgs() const {
> +    return makeArrayRef(getTrailingObjects<Init *>(), NumArgs);
>

Wouldn't this be an aliasing violation? Init* const * can't point to a
StringInit*, can it?


> +  }
>    ArrayRef<StringInit *> getArgNames() const {
>      return makeArrayRef(getTrailingObjects<StringInit *>(), NumArgNames);
>    }
> @@ -1200,19 +1203,16 @@ public:
>    typedef SmallVectorImpl<Init*>::const_iterator       const_arg_iterator;
>    typedef SmallVectorImpl<StringInit*>::const_iterator
> const_name_iterator;
>
> -  inline const_arg_iterator  arg_begin() const { return
> getTrailingObjects<Init *>(); }
> -  inline const_arg_iterator  arg_end  () const { return arg_begin() +
> NumArgs;   }
> -  inline iterator_range<const_arg_iterator> args() const {
> -    return llvm::make_range(arg_begin(), arg_end());
> -  }
> +  inline const_arg_iterator  arg_begin() const { return
> getArgs().begin(); }
> +  inline const_arg_iterator  arg_end  () const { return getArgs().end(); }
>
> -  inline size_t              arg_size () const { return NumArgs;  }
> +  inline size_t              arg_size () const { return NumArgs; }
>    inline bool                arg_empty() const { return NumArgs == 0; }
>
> -  inline const_name_iterator name_begin() const { return
> getTrailingObjects<StringInit *>(); }
> -  inline const_name_iterator name_end  () const { return name_begin() +
> NumArgNames;   }
> +  inline const_name_iterator name_begin() const { return
> getArgNames().begin();}
> +  inline const_name_iterator name_end  () const { return
> getArgNames().end(); }
>
> -  inline size_t              name_size () const { return NumArgNames;  }
> +  inline size_t              name_size () const { return NumArgNames; }
>    inline bool                name_empty() const { return NumArgNames ==
> 0; }
>
>    Init *getBit(unsigned Bit) const override {
>
> Modified: llvm/trunk/lib/TableGen/Record.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/TableGen/Record.cpp?rev=304177&r1=304176&r2=304177&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/TableGen/Record.cpp (original)
> +++ llvm/trunk/lib/TableGen/Record.cpp Mon May 29 16:49:34 2017
> @@ -1540,7 +1540,7 @@ Init *DagInit::resolveReferences(Record
>    SmallVector<Init*, 8> NewArgs;
>    NewArgs.reserve(arg_size());
>    bool ArgsChanged = false;
> -  for (const Init *Arg : args()) {
> +  for (const Init *Arg : getArgs()) {
>      Init *NewArg = Arg->resolveReferences(R, RV);
>      NewArgs.push_back(NewArg);
>      ArgsChanged |= NewArg != Arg;
>
> Modified: llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp?rev=304177&r1=304176&r2=304177&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp Mon May 29 16:49:34
> 2017
> @@ -1602,7 +1602,7 @@ Expected<BuildMIAction &> GlobalISelEmit
>
>  Error GlobalISelEmitter::importDefaultOperandRenderers(
>      BuildMIAction &DstMIBuilder, DagInit *DefaultOps) const {
> -  for (const auto *DefaultOp : DefaultOps->args()) {
> +  for (const auto *DefaultOp : DefaultOps->getArgs()) {
>      // Look through ValueType operators.
>      if (const DagInit *DefaultDagOp = dyn_cast<DagInit>(DefaultOp)) {
>        if (const DefInit *DefaultDagOperator =
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170605/3ca34c7d/attachment.html>


More information about the llvm-commits mailing list