[Mesa-dev] [PATCH 1/3] nv50/ir: use C++11 standard std::unordered_map if possible
Ilia Mirkin
imirkin at alum.mit.edu
Thu Oct 15 09:11:42 PDT 2015
This patch and the nv30 one are both
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
I guess adding a cc: stable makes sense for these too? Or are further
fixes required that would make building 11.0.x impractical?
On Thu, Oct 15, 2015 at 11:46 AM, Chih-Wei Huang
<cwhuang at android-x86.org> wrote:
> Note Android version before Lollipop is not supported.
>
> Signed-off-by: Chih-Wei Huang <cwhuang at linux.org.tw>
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 20 +++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> index 400b9f0..7859c8e 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> @@ -25,10 +25,24 @@
>
> #include <stack>
> #include <limits>
> +#if __cplusplus >= 201103L
> +#include <unordered_map>
> +#else
> #include <tr1/unordered_map>
> +#endif
>
> namespace nv50_ir {
>
> +#if __cplusplus >= 201103L
> +using std::hash;
> +using std::unordered_map;
> +#elif !defined(ANDROID)
> +using std::tr1::hash;
> +using std::tr1::unordered_map;
> +#else
> +#error Android release before Lollipop is not supported!
> +#endif
> +
> #define MAX_REGISTER_FILE_SIZE 256
>
> class RegisterSet
> @@ -349,12 +363,12 @@ RegAlloc::PhiMovesPass::needNewElseBlock(BasicBlock *b, BasicBlock *p)
>
> struct PhiMapHash {
> size_t operator()(const std::pair<Instruction *, BasicBlock *>& val) const {
> - return std::tr1::hash<Instruction*>()(val.first) * 31 +
> - std::tr1::hash<BasicBlock*>()(val.second);
> + return hash<Instruction*>()(val.first) * 31 +
> + hash<BasicBlock*>()(val.second);
> }
> };
>
> -typedef std::tr1::unordered_map<
> +typedef unordered_map<
> std::pair<Instruction *, BasicBlock *>, Value *, PhiMapHash> PhiMap;
>
> // Critical edges need to be split up so that work can be inserted along
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list