[lld] r196465 - Use makeArrayRef to construct ArrayRefs from C arrays.

David Blaikie dblaikie at gmail.com
Wed Dec 4 22:18:30 PST 2013


On Wed, Dec 4, 2013 at 8:41 PM, Rui Ueyama <ruiu at google.com> wrote:
> Author: ruiu
> Date: Wed Dec  4 22:41:10 2013
> New Revision: 196465
>
> URL: http://llvm.org/viewvc/llvm-project?rev=196465&view=rev
> Log:
> Use makeArrayRef to construct ArrayRefs from C arrays.

ArrayRef does have implicit conversion from arrays (
http://llvm.org/docs/doxygen/html/classllvm_1_1ArrayRef.html#aef393d65e1deaf4cc754849a16f6a163
) so you might not even need makeArrayRef in some (all?) of these
cases.

>
> Modified:
>     lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
>     lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
>
> Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp?rev=196465&r1=196464&r2=196465&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp (original)
> +++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp Wed Dec  4 22:41:10 2013
> @@ -12,9 +12,10 @@
>
>  using namespace lld;
>  using namespace elf;
> -
>  using namespace llvm::ELF;
>
> +using llvm::makeArrayRef;
> +
>  HexagonTargetHandler::HexagonTargetHandler(HexagonLinkingContext &context)
>      : DefaultTargetHandler(context), _targetLayout(context),
>        _relocationHandler(context, *this, _targetLayout),
> @@ -54,7 +55,7 @@ public:
>    HexagonGOTAtom(const File &f) : GOTAtom(f, ".got") {}
>
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(hexagonGotAtomContent, 4);
> +    return makeArrayRef(hexagonGotAtomContent);
>    }
>
>    virtual Alignment alignment() const { return Alignment(2); }
> @@ -65,7 +66,7 @@ public:
>    HexagonGOTPLTAtom(const File &f) : GOTAtom(f, ".got.plt") {}
>
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(hexagonGotPltAtomContent, 4);
> +    return makeArrayRef(hexagonGotPltAtomContent);
>    }
>
>    virtual Alignment alignment() const { return Alignment(2); }
> @@ -76,7 +77,7 @@ public:
>    HexagonGOTPLT0Atom(const File &f) : GOTAtom(f, ".got.plt") {}
>
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(hexagonGotPlt0AtomContent, 16);
> +    return makeArrayRef(hexagonGotPlt0AtomContent);
>    }
>
>    virtual Alignment alignment() const { return Alignment(3); }
> @@ -91,7 +92,7 @@ public:
>    }
>
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(hexagonPlt0AtomContent, 28);
> +    return makeArrayRef(hexagonPlt0AtomContent);
>    }
>  };
>
> @@ -101,7 +102,7 @@ public:
>    HexagonPLTAtom(const File &f, StringRef secName) : PLTAtom(f, secName) {}
>
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(hexagonPltAtomContent, 16);
> +    return makeArrayRef(hexagonPltAtomContent);
>    }
>  };
>
>
> Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp?rev=196465&r1=196464&r2=196465&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp (original)
> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp Wed Dec  4 22:41:10 2013
> @@ -21,6 +21,8 @@
>  using namespace lld;
>  using namespace lld::elf;
>
> +using llvm::makeArrayRef;
> +
>  namespace {
>  using namespace llvm::ELF;
>
> @@ -37,7 +39,7 @@ public:
>  #endif
>    }
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(x86_64InitFiniAtomContent, 8);
> +    return makeArrayRef(x86_64InitFiniAtomContent);
>    }
>    virtual Alignment alignment() const { return Alignment(3); }
>  };
> @@ -52,7 +54,7 @@ public:
>  #endif
>    }
>    virtual ArrayRef<uint8_t> rawContent() const {
> -    return ArrayRef<uint8_t>(x86_64InitFiniAtomContent, 8);
> +    return makeArrayRef(x86_64InitFiniAtomContent);
>    }
>
>    virtual Alignment alignment() const { return Alignment(3); }
>
>
> _______________________________________________
> 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