From 4ee6345d2e7bd5c2b98977a9edea94796b6aafae Mon Sep 17 00:00:00 2001 From: M Henning Date: Sat, 18 Jun 2022 16:45:53 -0400 Subject: [PATCH] nouveau: Drop C++03 compat code Mesa as a whole requires C++14 nowadays, so this isn't needed any more. Reviewed-by: David Heidelberg Reviewed-by: Jesse Natalie Reviewed-by: Karol Herbst Part-of: --- src/nouveau/codegen/meson.build | 1 - src/nouveau/codegen/nv50_ir.h | 8 ++++---- src/nouveau/codegen/nv50_ir_from_nir.cpp | 18 +++--------------- src/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 4 ++-- src/nouveau/codegen/nv50_ir_lowering_nvc0.h | 2 +- src/nouveau/codegen/nv50_ir_ra.cpp | 22 +++++----------------- src/nouveau/codegen/nv50_ir_util.h | 4 ---- src/nouveau/codegen/unordered_set.h | 20 -------------------- 8 files changed, 15 insertions(+), 64 deletions(-) delete mode 100644 src/nouveau/codegen/unordered_set.h diff --git a/src/nouveau/codegen/meson.build b/src/nouveau/codegen/meson.build index 58ac605..d67e375 100644 --- a/src/nouveau/codegen/meson.build +++ b/src/nouveau/codegen/meson.build @@ -47,7 +47,6 @@ files_libnouveau_codegen = files( 'nv50_ir_target_nv50.h', 'nv50_ir_util.cpp', 'nv50_ir_util.h', - 'unordered_set.h', 'nv50_ir_emit_gv100.cpp', 'nv50_ir_emit_gv100.h', 'nv50_ir_emit_gk110.cpp', diff --git a/src/nouveau/codegen/nv50_ir.h b/src/nouveau/codegen/nv50_ir.h index ec28b79..0b29408 100644 --- a/src/nouveau/codegen/nv50_ir.h +++ b/src/nouveau/codegen/nv50_ir.h @@ -28,9 +28,9 @@ #include #include #include +#include #include -#include "unordered_set.h" #include "nv50_ir_util.h" #include "nv50_ir_graph.h" @@ -751,10 +751,10 @@ public: static inline Value *get(Iterator&); - unordered_set uses; + std::unordered_set uses; std::list defs; - typedef unordered_set::iterator UseIterator; - typedef unordered_set::const_iterator UseCIterator; + typedef std::unordered_set::iterator UseIterator; + typedef std::unordered_set::const_iterator UseCIterator; typedef std::list::iterator DefIterator; typedef std::list::const_iterator DefCIterator; diff --git a/src/nouveau/codegen/nv50_ir_from_nir.cpp b/src/nouveau/codegen/nv50_ir_from_nir.cpp index 9f2f791..bc4ffeb 100644 --- a/src/nouveau/codegen/nv50_ir_from_nir.cpp +++ b/src/nouveau/codegen/nv50_ir_from_nir.cpp @@ -34,25 +34,13 @@ #include "nv50_ir_util.h" #include "tgsi/tgsi_from_mesa.h" -#if __cplusplus >= 201103L #include -#else -#include -#endif #include #include #include namespace { -#if __cplusplus >= 201103L -using std::hash; -using std::unordered_map; -#else -using std::tr1::hash; -using std::tr1::unordered_map; -#endif - using namespace nv50_ir; int @@ -85,9 +73,9 @@ public: bool run(); private: typedef std::vector LValues; - typedef unordered_map NirDefMap; - typedef unordered_map ImmediateMap; - typedef unordered_map NirBlockMap; + typedef std::unordered_map NirDefMap; + typedef std::unordered_map ImmediateMap; + typedef std::unordered_map NirBlockMap; CacheMode convert(enum gl_access_qualifier); TexTarget convert(glsl_sampler_dim, bool isArray, bool isShadow); diff --git a/src/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index 2891a1b..2655c71 100644 --- a/src/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -437,7 +437,7 @@ NVC0LegalizePostRA::findFirstUses( int minGPR = texi->def(0).rep()->reg.data.id; int maxGPR = minGPR + texi->def(0).rep()->reg.size / 4 - 1; - unordered_set visited; + std::unordered_set visited; findFirstUsesBB(minGPR, maxGPR, texi->next, texi, uses, visited); } @@ -445,7 +445,7 @@ void NVC0LegalizePostRA::findFirstUsesBB( int minGPR, int maxGPR, Instruction *start, const Instruction *texi, std::list &uses, - unordered_set &visited) + std::unordered_set &visited) { const BasicBlock *bb = start->bb; diff --git a/src/nouveau/codegen/nv50_ir_lowering_nvc0.h b/src/nouveau/codegen/nv50_ir_lowering_nvc0.h index 9534703..4df8a7c 100644 --- a/src/nouveau/codegen/nv50_ir_lowering_nvc0.h +++ b/src/nouveau/codegen/nv50_ir_lowering_nvc0.h @@ -109,7 +109,7 @@ private: void findFirstUses(Instruction *texi, std::list &uses); void findFirstUsesBB(int minGPR, int maxGPR, Instruction *start, const Instruction *texi, std::list &uses, - unordered_set &visited); + std::unordered_set &visited); void addTexUse(std::list&, Instruction *, const Instruction *); const Instruction *recurseDef(const Instruction *); diff --git a/src/nouveau/codegen/nv50_ir_ra.cpp b/src/nouveau/codegen/nv50_ir_ra.cpp index ea45ff7..08aaac5 100644 --- a/src/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/nouveau/codegen/nv50_ir_ra.cpp @@ -26,22 +26,10 @@ #include #include #include -#if __cplusplus >= 201103L #include -#else -#include -#endif namespace nv50_ir { -#if __cplusplus >= 201103L -using std::hash; -using std::unordered_map; -#else -using std::tr1::hash; -using std::tr1::unordered_map; -#endif - #define MAX_REGISTER_FILE_SIZE 256 class RegisterSet @@ -410,12 +398,12 @@ RegAlloc::PhiMovesPass::needNewElseBlock(BasicBlock *b, BasicBlock *p) struct PhiMapHash { size_t operator()(const std::pair& val) const { - return hash()(val.first) * 31 + - hash()(val.second); + return std::hash()(val.first) * 31 + + std::hash()(val.second); } }; -typedef unordered_map< +typedef std::unordered_map< std::pair, Value *, PhiMapHash> PhiMap; // Critical edges need to be split up so that work can be inserted along @@ -1837,7 +1825,7 @@ SpillCodeInserter::run(const std::list& lst) // Keep track of which instructions to delete later. Deleting them // inside the loop is unsafe since a single instruction may have // multiple destinations that all need to be spilled (like OP_SPLIT). - unordered_set to_del; + std::unordered_set to_del; std::list &defs = mergedDefs(lval); for (Value::DefIterator d = defs.begin(); d != defs.end(); @@ -1887,7 +1875,7 @@ SpillCodeInserter::run(const std::list& lst) } } - for (unordered_set::const_iterator it = to_del.begin(); + for (std::unordered_set::const_iterator it = to_del.begin(); it != to_del.end(); ++it) { mergedDefs.removeDefsOfInstruction(*it); delete_Instruction(func->getProgram(), *it); diff --git a/src/nouveau/codegen/nv50_ir_util.h b/src/nouveau/codegen/nv50_ir_util.h index b1766f4..9ccf8d4 100644 --- a/src/nouveau/codegen/nv50_ir_util.h +++ b/src/nouveau/codegen/nv50_ir_util.h @@ -94,11 +94,7 @@ public: virtual void reset() { assert(0); } // only for graph iterators }; -#if __cplusplus >= 201103L typedef std::unique_ptr IteratorRef; -#else -typedef std::auto_ptr IteratorRef; -#endif class ManipIterator : public Iterator { diff --git a/src/nouveau/codegen/unordered_set.h b/src/nouveau/codegen/unordered_set.h deleted file mode 100644 index 0e2945f..0000000 --- a/src/nouveau/codegen/unordered_set.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __NV50_UNORDERED_SET_H__ -#define __NV50_UNORDERED_SET_H__ - -#if (__cplusplus >= 201103L) -#include -#else -#include -#endif - -namespace nv50_ir { - -#if __cplusplus >= 201103L -using std::unordered_set; -#else -using std::tr1::unordered_set; -#endif - -} // namespace nv50_ir - -#endif // __NV50_UNORDERED_SET_H__ -- 2.7.4