[Mesa-dev] [PATCH 5/6] nir: move to compiler/

Emil Velikov emil.l.velikov at gmail.com
Mon Jan 18 04:02:27 PST 2016


From: Emil Velikov <emil.velikov at collabora.com>

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---

XXX: to avoid getting stuck (due to it's size), the file movements have 
been trimmed out :-) 

 src/compiler/Android.gen.mk                        | 91 ++++++++++++++++++++++
 src/compiler/Android.mk                            | 23 ++++++
 src/compiler/Makefile.am                           | 78 +++++++++++++++++++
 src/compiler/Makefile.sources                      | 71 +++++++++++++++++
 src/{glsl => compiler}/nir/.gitignore              |  0
 src/{glsl => compiler}/nir/README                  |  0
 src/{glsl => compiler}/nir/glsl_to_nir.cpp         |  6 +-
 src/{glsl => compiler}/nir/glsl_to_nir.h           |  2 +-
 src/{glsl => compiler}/nir/nir.c                   |  0
 src/{glsl => compiler}/nir/nir.h                   |  2 +-
 src/{glsl => compiler}/nir/nir_algebraic.py        |  0
 src/{glsl => compiler}/nir/nir_array.h             |  0
 src/{glsl => compiler}/nir/nir_builder.h           |  0
 .../nir/nir_builder_opcodes_h.py                   |  0
 src/{glsl => compiler}/nir/nir_clone.c             |  0
 .../nir/nir_constant_expressions.h                 |  0
 .../nir/nir_constant_expressions.py                |  0
 src/{glsl => compiler}/nir/nir_control_flow.c      |  0
 src/{glsl => compiler}/nir/nir_control_flow.h      |  0
 .../nir/nir_control_flow_private.h                 |  0
 src/{glsl => compiler}/nir/nir_dominance.c         |  0
 src/{glsl => compiler}/nir/nir_from_ssa.c          |  0
 src/{glsl => compiler}/nir/nir_gs_count_vertices.c |  0
 src/{glsl => compiler}/nir/nir_instr_set.c         |  0
 src/{glsl => compiler}/nir/nir_instr_set.h         |  0
 src/{glsl => compiler}/nir/nir_intrinsics.c        |  0
 src/{glsl => compiler}/nir/nir_intrinsics.h        |  0
 src/{glsl => compiler}/nir/nir_liveness.c          |  0
 .../nir/nir_lower_alu_to_scalar.c                  |  0
 src/{glsl => compiler}/nir/nir_lower_atomics.c     |  2 +-
 src/{glsl => compiler}/nir/nir_lower_clip.c        |  0
 .../nir/nir_lower_global_vars_to_local.c           |  0
 .../nir/nir_lower_gs_intrinsics.c                  |  0
 src/{glsl => compiler}/nir/nir_lower_idiv.c        |  0
 src/{glsl => compiler}/nir/nir_lower_io.c          |  0
 .../nir/nir_lower_load_const_to_scalar.c           |  0
 .../nir/nir_lower_locals_to_regs.c                 |  0
 .../nir/nir_lower_outputs_to_temporaries.c         |  0
 .../nir/nir_lower_phis_to_scalar.c                 |  0
 src/{glsl => compiler}/nir/nir_lower_samplers.c    |  2 +-
 .../nir/nir_lower_system_values.c                  |  0
 src/{glsl => compiler}/nir/nir_lower_tex.c         |  0
 .../nir/nir_lower_to_source_mods.c                 |  0
 .../nir/nir_lower_two_sided_color.c                |  0
 src/{glsl => compiler}/nir/nir_lower_var_copies.c  |  0
 src/{glsl => compiler}/nir/nir_lower_vars_to_ssa.c |  0
 src/{glsl => compiler}/nir/nir_lower_vec_to_movs.c |  0
 src/{glsl => compiler}/nir/nir_metadata.c          |  0
 .../nir/nir_move_vec_src_uses_to_dest.c            |  0
 .../nir/nir_normalize_cubemap_coords.c             |  0
 src/{glsl => compiler}/nir/nir_opcodes.py          |  0
 src/{glsl => compiler}/nir/nir_opcodes_c.py        |  0
 src/{glsl => compiler}/nir/nir_opcodes_h.py        |  0
 src/{glsl => compiler}/nir/nir_opt_algebraic.py    |  0
 .../nir/nir_opt_constant_folding.c                 |  0
 .../nir/nir_opt_copy_propagate.c                   |  0
 src/{glsl => compiler}/nir/nir_opt_cse.c           |  0
 src/{glsl => compiler}/nir/nir_opt_dce.c           |  0
 src/{glsl => compiler}/nir/nir_opt_dead_cf.c       |  0
 src/{glsl => compiler}/nir/nir_opt_gcm.c           |  0
 .../nir/nir_opt_global_to_local.c                  |  0
 .../nir/nir_opt_peephole_select.c                  |  0
 src/{glsl => compiler}/nir/nir_opt_remove_phis.c   |  0
 src/{glsl => compiler}/nir/nir_opt_undef.c         |  0
 src/{glsl => compiler}/nir/nir_print.c             |  0
 .../nir/nir_remove_dead_variables.c                |  0
 src/{glsl => compiler}/nir/nir_search.c            |  0
 src/{glsl => compiler}/nir/nir_search.h            |  0
 src/{glsl => compiler}/nir/nir_split_var_copies.c  |  0
 src/{glsl => compiler}/nir/nir_sweep.c             |  0
 src/{glsl => compiler}/nir/nir_to_ssa.c            |  0
 src/{glsl => compiler}/nir/nir_validate.c          |  0
 src/{glsl => compiler}/nir/nir_vla.h               |  0
 src/{glsl => compiler}/nir/nir_worklist.c          |  0
 src/{glsl => compiler}/nir/nir_worklist.h          |  0
 .../nir/tests/control_flow_tests.cpp               |  0
 src/gallium/auxiliary/Makefile.am                  |  2 +-
 src/gallium/auxiliary/nir/tgsi_to_nir.c            |  8 +-
 src/gallium/auxiliary/nir/tgsi_to_nir.h            |  2 +-
 src/gallium/drivers/freedreno/Makefile.am          |  4 +-
 src/gallium/drivers/freedreno/ir3/ir3_nir.h        |  2 +-
 .../drivers/freedreno/ir3/ir3_nir_lower_if_else.c  |  4 +-
 src/gallium/drivers/vc4/Makefile.am                |  2 +-
 src/gallium/drivers/vc4/vc4_nir_lower_blend.c      |  2 +-
 src/gallium/drivers/vc4/vc4_nir_lower_io.c         |  2 +-
 src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c     |  2 +-
 src/gallium/drivers/vc4/vc4_program.c              |  4 +-
 src/gallium/drivers/vc4/vc4_qir.h                  |  2 +-
 src/gallium/targets/pipe-loader/Makefile.am        |  2 +-
 src/gallium/targets/xa/Makefile.am                 |  2 +-
 src/glsl/Android.gen.mk                            | 54 -------------
 src/glsl/Makefile.am                               | 62 +--------------
 src/mesa/Android.libmesa_dricore.mk                |  2 +-
 src/mesa/Android.libmesa_glsl_utils.mk             |  4 +-
 src/mesa/Android.libmesa_st_mesa.mk                |  2 +-
 src/mesa/Makefile.sources                          |  3 +-
 src/mesa/drivers/dri/i965/Makefile.am              |  3 +-
 src/mesa/drivers/dri/i965/brw_fs.h                 |  2 +-
 src/mesa/drivers/dri/i965/brw_nir.c                |  4 +-
 src/mesa/drivers/dri/i965/brw_nir.h                |  2 +-
 src/mesa/drivers/dri/i965/brw_vec4.h               |  2 +-
 src/mesa/drivers/dri/i965/intel_asm_annotation.c   |  2 +-
 src/mesa/drivers/dri/i965/intel_screen.c           |  2 +-
 src/mesa/program/Android.mk                        |  2 +-
 src/mesa/program/prog_to_nir.c                     |  4 +-
 105 files changed, 310 insertions(+), 157 deletions(-)
 create mode 100644 src/compiler/Android.gen.mk
 rename src/{glsl => compiler}/nir/.gitignore (100%)
 rename src/{glsl => compiler}/nir/README (100%)
 rename src/{glsl => compiler}/nir/glsl_to_nir.cpp (99%)
 rename src/{glsl => compiler}/nir/glsl_to_nir.h (97%)
 rename src/{glsl => compiler}/nir/nir.c (100%)
 rename src/{glsl => compiler}/nir/nir.h (99%)
 rename src/{glsl => compiler}/nir/nir_algebraic.py (100%)
 rename src/{glsl => compiler}/nir/nir_array.h (100%)
 rename src/{glsl => compiler}/nir/nir_builder.h (100%)
 rename src/{glsl => compiler}/nir/nir_builder_opcodes_h.py (100%)
 rename src/{glsl => compiler}/nir/nir_clone.c (100%)
 rename src/{glsl => compiler}/nir/nir_constant_expressions.h (100%)
 rename src/{glsl => compiler}/nir/nir_constant_expressions.py (100%)
 rename src/{glsl => compiler}/nir/nir_control_flow.c (100%)
 rename src/{glsl => compiler}/nir/nir_control_flow.h (100%)
 rename src/{glsl => compiler}/nir/nir_control_flow_private.h (100%)
 rename src/{glsl => compiler}/nir/nir_dominance.c (100%)
 rename src/{glsl => compiler}/nir/nir_from_ssa.c (100%)
 rename src/{glsl => compiler}/nir/nir_gs_count_vertices.c (100%)
 rename src/{glsl => compiler}/nir/nir_instr_set.c (100%)
 rename src/{glsl => compiler}/nir/nir_instr_set.h (100%)
 rename src/{glsl => compiler}/nir/nir_intrinsics.c (100%)
 rename src/{glsl => compiler}/nir/nir_intrinsics.h (100%)
 rename src/{glsl => compiler}/nir/nir_liveness.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_alu_to_scalar.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_atomics.c (99%)
 rename src/{glsl => compiler}/nir/nir_lower_clip.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_global_vars_to_local.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_gs_intrinsics.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_idiv.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_io.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_load_const_to_scalar.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_locals_to_regs.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_outputs_to_temporaries.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_phis_to_scalar.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_samplers.c (99%)
 rename src/{glsl => compiler}/nir/nir_lower_system_values.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_tex.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_to_source_mods.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_two_sided_color.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_var_copies.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_vars_to_ssa.c (100%)
 rename src/{glsl => compiler}/nir/nir_lower_vec_to_movs.c (100%)
 rename src/{glsl => compiler}/nir/nir_metadata.c (100%)
 rename src/{glsl => compiler}/nir/nir_move_vec_src_uses_to_dest.c (100%)
 rename src/{glsl => compiler}/nir/nir_normalize_cubemap_coords.c (100%)
 rename src/{glsl => compiler}/nir/nir_opcodes.py (100%)
 rename src/{glsl => compiler}/nir/nir_opcodes_c.py (100%)
 rename src/{glsl => compiler}/nir/nir_opcodes_h.py (100%)
 rename src/{glsl => compiler}/nir/nir_opt_algebraic.py (100%)
 rename src/{glsl => compiler}/nir/nir_opt_constant_folding.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_copy_propagate.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_cse.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_dce.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_dead_cf.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_gcm.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_global_to_local.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_peephole_select.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_remove_phis.c (100%)
 rename src/{glsl => compiler}/nir/nir_opt_undef.c (100%)
 rename src/{glsl => compiler}/nir/nir_print.c (100%)
 rename src/{glsl => compiler}/nir/nir_remove_dead_variables.c (100%)
 rename src/{glsl => compiler}/nir/nir_search.c (100%)
 rename src/{glsl => compiler}/nir/nir_search.h (100%)
 rename src/{glsl => compiler}/nir/nir_split_var_copies.c (100%)
 rename src/{glsl => compiler}/nir/nir_sweep.c (100%)
 rename src/{glsl => compiler}/nir/nir_to_ssa.c (100%)
 rename src/{glsl => compiler}/nir/nir_validate.c (100%)
 rename src/{glsl => compiler}/nir/nir_vla.h (100%)
 rename src/{glsl => compiler}/nir/nir_worklist.c (100%)
 rename src/{glsl => compiler}/nir/nir_worklist.h (100%)
 rename src/{glsl => compiler}/nir/tests/control_flow_tests.cpp (100%)

diff --git a/src/compiler/Android.gen.mk b/src/compiler/Android.gen.mk
new file mode 100644
index 0000000..fcd5f94
--- /dev/null
+++ b/src/compiler/Android.gen.mk
@@ -0,0 +1,91 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C) 2010-2011 Chia-I Wu <olvaffe at gmail.com>
+# Copyright (C) 2010-2011 LunarG Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# included by glsl Android.mk for source generation
+
+ifeq ($(LOCAL_MODULE_CLASS),)
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+intermediates := $(call local-generated-sources-dir)
+
+LOCAL_SRC_FILES := $(LOCAL_SRC_FILES)
+
+LOCAL_C_INCLUDES += \
+	$(intermediates)/nir \
+	$(MESA_TOP)/src/compiler/nir
+
+LOCAL_EXPORT_C_INCLUDE_DIRS += \
+	$(intermediates)/nir \
+	$(MESA_TOP)/src/compiler/nir
+
+LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
+	$(NIR_GENERATED_FILES))
+
+
+nir_builder_opcodes_gen := $(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
+nir_builder_opcodes_deps := \
+	$(LOCAL_PATH)/nir/nir_opcodes.py \
+	$(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
+
+$(intermediates)/nir/nir_builder_opcodes.h: $(nir_builder_opcodes_deps)
+	@mkdir -p $(dir $@)
+	$(hide) $(MESA_PYTHON2) $(nir_builder_opcodes_gen) $< > $@
+
+nir_constant_expressions_gen := $(LOCAL_PATH)/nir/nir_constant_expressions.py
+nir_constant_expressions_deps := \
+	$(LOCAL_PATH)/nir/nir_opcodes.py \
+	$(LOCAL_PATH)/nir/nir_constant_expressions.py
+
+$(intermediates)/nir/nir_constant_expressions.c: $(nir_constant_expressions_deps)
+	@mkdir -p $(dir $@)
+	$(hide) $(MESA_PYTHON2) $(nir_constant_expressions_gen) $< > $@
+
+nir_opcodes_h_gen := $(LOCAL_PATH)/nir/nir_opcodes_h.py
+nir_opcodes_h_deps := \
+	$(LOCAL_PATH)/nir/nir_opcodes.py \
+	$(LOCAL_PATH)/nir/nir_opcodes_h.py
+
+$(intermediates)/nir/nir_opcodes.h: $(nir_opcodes_h_deps)
+	@mkdir -p $(dir $@)
+	$(hide) $(MESA_PYTHON2) $(nir_opcodes_h_gen) $< > $@
+
+$(LOCAL_PATH)/nir/nir.h: $(intermediates)/nir/nir_opcodes.h
+
+nir_opcodes_c_gen := $(LOCAL_PATH)/nir/nir_opcodes_c.py
+nir_opcodes_c_deps := \
+	$(LOCAL_PATH)/nir/nir_opcodes.py \
+	$(LOCAL_PATH)/nir/nir_opcodes_c.py
+
+$(intermediates)/nir/nir_opcodes.c: $(nir_opcodes_c_deps)
+	@mkdir -p $(dir $@)
+	$(hide) $(MESA_PYTHON2) $(nir_opcodes_c_gen) $< > $@
+
+nir_opt_algebraic_gen := $(LOCAL_PATH)/nir/nir_opt_algebraic.py
+nir_opt_algebraic_deps := \
+	$(LOCAL_PATH)/nir/nir_opt_algebraic.py \
+	$(LOCAL_PATH)/nir/nir_algebraic.py
+
+$(intermediates)/nir/nir_opt_algebraic.c: $(nir_opt_algebraic_deps)
+	@mkdir -p $(dir $@)
+	$(hide) $(MESA_PYTHON2) $(nir_opt_algebraic_gen) $< > $@
diff --git a/src/compiler/Android.mk b/src/compiler/Android.mk
index 8ebd497..888780b 100644
--- a/src/compiler/Android.mk
+++ b/src/compiler/Android.mk
@@ -42,3 +42,26 @@ LOCAL_MODULE := libmesa_compiler
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
+
+# ---------------------------------------
+# Build libmesa_nir
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+	$(NIR_FILES)
+
+LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src/mapi \
+	$(MESA_TOP)/src/mesa \
+	$(MESA_TOP)/src/gallium/include \
+	$(MESA_TOP)/src/gallium/auxiliary
+
+LOCAL_STATIC_LIBRARIES := libmesa_compiler
+
+LOCAL_MODULE := libmesa_nir
+
+include $(LOCAL_PATH)/Android.gen.mk
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/src/compiler/Makefile.am b/src/compiler/Makefile.am
index fd1dd4b..1e3778d 100644
--- a/src/compiler/Makefile.am
+++ b/src/compiler/Makefile.am
@@ -29,6 +29,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/mesa/ \
 	-I$(top_srcdir)/src/gallium/include \
 	-I$(top_srcdir)/src/gallium/auxiliary \
+	-I$(top_srcdir)/src/gtest/include \
 	$(DEFINES)
 
 AM_CFLAGS = \
@@ -43,4 +44,81 @@ noinst_LTLIBRARIES = libcompiler.la
 
 libcompiler_la_SOURCES = $(LIBCOMPILER_FILES)
 
+check_PROGRAMS =
+TESTS =
+BUILT_SOURCES =
+CLEANFILES =
 EXTRA_DIST = SConscript
+
+
+noinst_LTLIBRARIES += nir/libnir.la
+
+nir_libnir_la_CPPFLAGS = \
+	$(AM_CPPFLAGS) \
+	-I$(top_builddir)/src/compiler/nir \
+	-I$(top_srcdir)/src/compiler/nir
+
+nir_libnir_la_LIBADD = \
+	libcompiler.la
+
+nir_libnir_la_SOURCES =					\
+	$(NIR_FILES)					\
+	$(NIR_GENERATED_FILES)
+
+PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
+
+nir/nir_builder_opcodes.h: nir/nir_opcodes.py nir/nir_builder_opcodes_h.py
+	$(MKDIR_GEN)
+	$(PYTHON_GEN) $(srcdir)/nir/nir_builder_opcodes_h.py > $@ || ($(RM) $@; false)
+
+nir/nir_constant_expressions.c: nir/nir_opcodes.py nir/nir_constant_expressions.py
+	$(MKDIR_GEN)
+	$(PYTHON_GEN) $(srcdir)/nir/nir_constant_expressions.py > $@ || ($(RM) $@; false)
+
+nir/nir_opcodes.h: nir/nir_opcodes.py nir/nir_opcodes_h.py
+	$(MKDIR_GEN)
+	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_h.py > $@ || ($(RM) $@; false)
+
+nir/nir_opcodes.c: nir/nir_opcodes.py nir/nir_opcodes_c.py
+	$(MKDIR_GEN)
+	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_c.py > $@ || ($(RM) $@; false)
+
+nir/nir_opt_algebraic.c: nir/nir_opt_algebraic.py nir/nir_algebraic.py
+	$(MKDIR_GEN)
+	$(PYTHON_GEN) $(srcdir)/nir/nir_opt_algebraic.py > $@ || ($(RM) $@; false)
+
+
+check_PROGRAMS += nir/tests/control_flow_tests
+
+nir_tests_control_flow_tests_CPPFLAGS = \
+	$(AM_CPPFLAGS) \
+	-I$(top_builddir)/src/compiler/nir \
+	-I$(top_srcdir)/src/compiler/nir
+
+nir_tests_control_flow_tests_SOURCES =			\
+	nir/tests/control_flow_tests.cpp
+nir_tests_control_flow_tests_CFLAGS =			\
+	$(PTHREAD_CFLAGS)
+nir_tests_control_flow_tests_LDADD =			\
+	$(top_builddir)/src/gtest/libgtest.la		\
+	$(top_builddir)/src/compiler/nir/libnir.la	\
+	$(top_builddir)/src/util/libmesautil.la		\
+	$(PTHREAD_LIBS)
+
+
+TESTS += nir/tests/control_flow_tests
+
+
+BUILT_SOURCES += $(NIR_GENERATED_FILES)
+CLEANFILES += $(NIR_GENERATED_FILES)
+
+EXTRA_DIST += \
+	nir/nir_algebraic.py				\
+	nir/nir_builder_opcodes_h.py			\
+	nir/nir_constant_expressions.py			\
+	nir/nir_opcodes.py				\
+	nir/nir_opcodes_c.py				\
+	nir/nir_opcodes_h.py				\
+	nir/nir_opt_algebraic.py			\
+	nir/tests					\
+	nir/Makefile.sources
diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources
index e1228ca..fe12e41 100644
--- a/src/compiler/Makefile.sources
+++ b/src/compiler/Makefile.sources
@@ -6,3 +6,74 @@ LIBCOMPILER_FILES = \
 	nir_types.h \
 	shader_enums.c \
 	shader_enums.h
+
+NIR_GENERATED_FILES = \
+	nir/nir_builder_opcodes.h \
+	nir/nir_constant_expressions.c \
+	nir/nir_opcodes.c \
+	nir/nir_opcodes.h \
+	nir/nir_opt_algebraic.c
+
+NIR_FILES = \
+	nir/glsl_to_nir.cpp \
+	nir/glsl_to_nir.h \
+	nir/nir.c \
+	nir/nir.h \
+	nir/nir_array.h \
+	nir/nir_builder.h \
+	nir/nir_clone.c \
+	nir/nir_constant_expressions.h \
+	nir/nir_control_flow.c \
+	nir/nir_control_flow.h \
+	nir/nir_control_flow_private.h \
+	nir/nir_dominance.c \
+	nir/nir_from_ssa.c \
+	nir/nir_gs_count_vertices.c \
+	nir/nir_intrinsics.c \
+	nir/nir_intrinsics.h \
+	nir/nir_instr_set.c \
+	nir/nir_instr_set.h \
+	nir/nir_liveness.c \
+	nir/nir_lower_alu_to_scalar.c \
+	nir/nir_lower_atomics.c \
+	nir/nir_lower_clip.c \
+	nir/nir_lower_global_vars_to_local.c \
+	nir/nir_lower_gs_intrinsics.c \
+	nir/nir_lower_load_const_to_scalar.c \
+	nir/nir_lower_locals_to_regs.c \
+	nir/nir_lower_idiv.c \
+	nir/nir_lower_io.c \
+	nir/nir_lower_outputs_to_temporaries.c \
+	nir/nir_lower_phis_to_scalar.c \
+	nir/nir_lower_samplers.c \
+	nir/nir_lower_system_values.c \
+	nir/nir_lower_tex.c \
+	nir/nir_lower_to_source_mods.c \
+	nir/nir_lower_two_sided_color.c \
+	nir/nir_lower_vars_to_ssa.c \
+	nir/nir_lower_var_copies.c \
+	nir/nir_lower_vec_to_movs.c \
+	nir/nir_metadata.c \
+	nir/nir_move_vec_src_uses_to_dest.c \
+	nir/nir_normalize_cubemap_coords.c \
+	nir/nir_opt_constant_folding.c \
+	nir/nir_opt_copy_propagate.c \
+	nir/nir_opt_cse.c \
+	nir/nir_opt_dce.c \
+	nir/nir_opt_dead_cf.c \
+	nir/nir_opt_gcm.c \
+	nir/nir_opt_global_to_local.c \
+	nir/nir_opt_peephole_select.c \
+	nir/nir_opt_remove_phis.c \
+	nir/nir_opt_undef.c \
+	nir/nir_print.c \
+	nir/nir_remove_dead_variables.c \
+	nir/nir_search.c \
+	nir/nir_search.h \
+	nir/nir_split_var_copies.c \
+	nir/nir_sweep.c \
+	nir/nir_to_ssa.c \
+	nir/nir_validate.c \
+	nir/nir_vla.h \
+	nir/nir_worklist.c \
+	nir/nir_worklist.h
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/compiler/nir/glsl_to_nir.cpp
similarity index 99%
rename from src/glsl/nir/glsl_to_nir.cpp
rename to src/compiler/nir/glsl_to_nir.cpp
index c7399eb..33b1f5c 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/compiler/nir/glsl_to_nir.cpp
@@ -28,9 +28,9 @@
 #include "glsl_to_nir.h"
 #include "nir_control_flow.h"
 #include "nir_builder.h"
-#include "ir_visitor.h"
-#include "ir_hierarchical_visitor.h"
-#include "ir.h"
+#include "glsl/ir_visitor.h"
+#include "glsl/ir_hierarchical_visitor.h"
+#include "glsl/ir.h"
 #include "main/imports.h"
 
 /*
diff --git a/src/glsl/nir/glsl_to_nir.h b/src/compiler/nir/glsl_to_nir.h
similarity index 97%
rename from src/glsl/nir/glsl_to_nir.h
rename to src/compiler/nir/glsl_to_nir.h
index 29badcd..20d2a38 100644
--- a/src/glsl/nir/glsl_to_nir.h
+++ b/src/compiler/nir/glsl_to_nir.h
@@ -26,7 +26,7 @@
  */
 
 #include "nir.h"
-#include "../glsl_parser_extras.h"
+#include "glsl/glsl_parser_extras.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/glsl/nir/nir.h b/src/compiler/nir/nir.h
similarity index 99%
rename from src/glsl/nir/nir.h
rename to src/compiler/nir/nir.h
index d76df66..54e23eb 100644
--- a/src/glsl/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -28,7 +28,7 @@
 #pragma once
 
 #include "util/hash_table.h"
-#include "../list.h"
+#include "glsl/list.h"
 #include "GL/gl.h" /* GLenum */
 #include "util/list.h"
 #include "util/ralloc.h"
diff --git a/src/glsl/nir/nir_lower_atomics.c b/src/compiler/nir/nir_lower_atomics.c
similarity index 99%
rename from src/glsl/nir/nir_lower_atomics.c
rename to src/compiler/nir/nir_lower_atomics.c
index 1aa78e1..2cbc1b7 100644
--- a/src/glsl/nir/nir_lower_atomics.c
+++ b/src/compiler/nir/nir_lower_atomics.c
@@ -25,7 +25,7 @@
  *
  */
 
-#include "ir_uniform.h"
+#include "glsl/ir_uniform.h"
 #include "nir.h"
 #include "main/config.h"
 #include <assert.h>
diff --git a/src/glsl/nir/nir_lower_samplers.c b/src/compiler/nir/nir_lower_samplers.c
similarity index 99%
rename from src/glsl/nir/nir_lower_samplers.c
rename to src/compiler/nir/nir_lower_samplers.c
index 95ea072..9c91212 100644
--- a/src/glsl/nir/nir_lower_samplers.c
+++ b/src/compiler/nir/nir_lower_samplers.c
@@ -26,7 +26,7 @@
 #include "nir.h"
 #include "nir_builder.h"
 #include "program/hash_table.h"
-#include "ir_uniform.h"
+#include "glsl/ir_uniform.h"
 
 #include "main/compiler.h"
 #include "main/mtypes.h"
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index bcdf297..0ac5c98 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -18,7 +18,7 @@ libgallium_nir_la_SOURCES = \
 	$(NIR_SOURCES)
 
 libgallium_nir_la_CFLAGS = \
-	-I$(top_builddir)/src/glsl/nir \
+	-I$(top_builddir)/src/compiler/nir \
 	$(GALLIUM_CFLAGS) \
 	$(VISIBILITY_CFLAGS) \
 	$(MSVC2013_COMPAT_CFLAGS)
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c
index 0d6eb76..6649e40 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
@@ -23,13 +23,13 @@
  */
 
 #include "util/ralloc.h"
-#include "glsl/nir/nir.h"
-#include "glsl/nir/nir_control_flow.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/nir.h"
+#include "compiler/nir/nir_control_flow.h"
+#include "compiler/nir/nir_builder.h"
 #include "glsl/list.h"
 #include "compiler/shader_enums.h"
 
-#include "nir/tgsi_to_nir.h"
+#include "tgsi_to_nir.h"
 #include "tgsi/tgsi_parse.h"
 #include "tgsi/tgsi_dump.h"
 #include "tgsi/tgsi_info.h"
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.h b/src/gallium/auxiliary/nir/tgsi_to_nir.h
index 1a185a8..0651870 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.h
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.h
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 struct nir_shader_compiler_options *options;
 
diff --git a/src/gallium/drivers/freedreno/Makefile.am b/src/gallium/drivers/freedreno/Makefile.am
index 3de8e0f..329a420 100644
--- a/src/gallium/drivers/freedreno/Makefile.am
+++ b/src/gallium/drivers/freedreno/Makefile.am
@@ -4,7 +4,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
 AM_CFLAGS = \
 	-Wno-packed-bitfield-compat \
 	-I$(top_srcdir)/src/gallium/drivers/freedreno/ir3 \
-	-I$(top_builddir)/src/glsl/nir \
+	-I$(top_builddir)/src/compiler/nir \
 	$(GALLIUM_DRIVER_CFLAGS) \
 	$(FREEDRENO_CFLAGS)
 
@@ -27,7 +27,7 @@ ir3_compiler_SOURCES = \
 ir3_compiler_LDADD = \
 	libfreedreno.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
-	$(top_builddir)/src/glsl/libnir.la \
+	$(top_builddir)/src/compiler/nir/libnir.la \
 	$(top_builddir)/src/util/libmesautil.la \
 	$(GALLIUM_COMMON_LIB_DEPS) \
 	$(FREEDRENO_LIBS)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir.h b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
index 311a403..e2d8859 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_nir.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
@@ -29,7 +29,7 @@
 #ifndef IR3_NIR_H_
 #define IR3_NIR_H_
 
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 #include "compiler/shader_enums.h"
 
 #include "ir3_shader.h"
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c b/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
index 6eee2eb..8815ac9 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
@@ -28,8 +28,8 @@
  */
 
 #include "ir3_nir.h"
-#include "glsl/nir/nir_builder.h"
-#include "glsl/nir/nir_control_flow.h"
+#include "compiler/nir/nir_builder.h"
+#include "compiler/nir/nir_control_flow.h"
 
 /* Based on nir_opt_peephole_select, and hacked up to more aggressively
  * flatten anything that can be flattened
diff --git a/src/gallium/drivers/vc4/Makefile.am b/src/gallium/drivers/vc4/Makefile.am
index a3bf72f..caa5059 100644
--- a/src/gallium/drivers/vc4/Makefile.am
+++ b/src/gallium/drivers/vc4/Makefile.am
@@ -27,7 +27,7 @@ SIM_LDFLAGS = -lsimpenrose
 endif
 
 AM_CFLAGS = \
-	-I$(top_builddir)/src/glsl/nir \
+	-I$(top_builddir)/src/compiler/nir \
 	$(LIBDRM_CFLAGS) \
 	$(GALLIUM_DRIVER_CFLAGS) \
 	$(SIM_CFLAGS) \
diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_blend.c b/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
index 6d9a624..a13e309 100644
--- a/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
+++ b/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
@@ -41,7 +41,7 @@
  */
 #include "util/u_format.h"
 #include "vc4_qir.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/nir_builder.h"
 #include "vc4_context.h"
 
 static bool
diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_io.c b/src/gallium/drivers/vc4/vc4_nir_lower_io.c
index bf6631e..d47e3bf 100644
--- a/src/gallium/drivers/vc4/vc4_nir_lower_io.c
+++ b/src/gallium/drivers/vc4/vc4_nir_lower_io.c
@@ -22,7 +22,7 @@
  */
 
 #include "vc4_qir.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/nir_builder.h"
 #include "util/u_format.h"
 
 /**
diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c b/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
index 2490819..6a952c6 100644
--- a/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
+++ b/src/gallium/drivers/vc4/vc4_nir_lower_txf_ms.c
@@ -24,7 +24,7 @@
 #include "vc4_qir.h"
 #include "kernel/vc4_packet.h"
 #include "tgsi/tgsi_info.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/nir_builder.h"
 
 /** @file vc4_nir_lower_txf_ms.c
  * Walks the NIR generated by TGSI-to-NIR to lower its nir_texop_txf_ms
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 3e402d0..7db1b03 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -32,8 +32,8 @@
 #include "tgsi/tgsi_dump.h"
 #include "tgsi/tgsi_lowering.h"
 #include "tgsi/tgsi_parse.h"
-#include "glsl/nir/nir.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/nir.h"
+#include "compiler/nir/nir_builder.h"
 #include "nir/tgsi_to_nir.h"
 #include "vc4_context.h"
 #include "vc4_qpu.h"
diff --git a/src/gallium/drivers/vc4/vc4_qir.h b/src/gallium/drivers/vc4/vc4_qir.h
index 4ab4d35..bae3176 100644
--- a/src/gallium/drivers/vc4/vc4_qir.h
+++ b/src/gallium/drivers/vc4/vc4_qir.h
@@ -32,7 +32,7 @@
 #include <string.h>
 
 #include "util/macros.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 #include "util/list.h"
 #include "util/u_math.h"
 
diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am
index 4bc3b55..0b516de 100644
--- a/src/gallium/targets/pipe-loader/Makefile.am
+++ b/src/gallium/targets/pipe-loader/Makefile.am
@@ -53,7 +53,7 @@ endif
 
 PIPE_LIBS += \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
-	$(top_builddir)/src/glsl/libnir.la \
+	$(top_builddir)/src/compiler/nir/libnir.la \
 	$(top_builddir)/src/util/libmesautil.la \
 	$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
 	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am
index a63fd69..cdd9a86 100644
--- a/src/gallium/targets/xa/Makefile.am
+++ b/src/gallium/targets/xa/Makefile.am
@@ -37,7 +37,7 @@ libxatracker_la_LIBADD = \
 	$(top_builddir)/src/gallium/state_trackers/xa/libxatracker.la \
 	$(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
-	$(top_builddir)/src/glsl/libnir.la \
+	$(top_builddir)/src/compiler/nir/libnir.la \
 	$(top_builddir)/src/util/libmesautil.la \
 	$(LIBDRM_LIBS) \
 	$(GALLIUM_COMMON_LIB_DEPS)
diff --git a/src/glsl/Android.gen.mk b/src/glsl/Android.gen.mk
index 59cc857..c5741b4 100644
--- a/src/glsl/Android.gen.mk
+++ b/src/glsl/Android.gen.mk
@@ -33,17 +33,10 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES)
 
 LOCAL_C_INCLUDES += \
 	$(intermediates)/glcpp \
-	$(intermediates)/nir \
 	$(MESA_TOP)/src/glsl/glcpp \
-	$(MESA_TOP)/src/glsl/nir
-
-LOCAL_EXPORT_C_INCLUDE_DIRS += \
-	$(intermediates)/nir \
-	$(MESA_TOP)/src/glsl/nir
 
 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
 	$(LIBGLCPP_GENERATED_FILES) \
-	$(NIR_GENERATED_FILES) \
 	$(LIBGLSL_GENERATED_CXX_FILES))
 
 define local-l-or-ll-to-c-or-cpp
@@ -81,50 +74,3 @@ $(intermediates)/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glcpp/glcpp-lex.l
 
 $(intermediates)/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glcpp/glcpp-parse.y
 	$(call glsl_local-y-to-c-and-h)
-
-nir_builder_opcodes_gen := $(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
-nir_builder_opcodes_deps := \
-	$(LOCAL_PATH)/nir/nir_opcodes.py \
-	$(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
-
-$(intermediates)/nir/nir_builder_opcodes.h: $(nir_builder_opcodes_deps)
-	@mkdir -p $(dir $@)
-	$(hide) $(MESA_PYTHON2) $(nir_builder_opcodes_gen) $< > $@
-
-nir_constant_expressions_gen := $(LOCAL_PATH)/nir/nir_constant_expressions.py
-nir_constant_expressions_deps := \
-	$(LOCAL_PATH)/nir/nir_opcodes.py \
-	$(LOCAL_PATH)/nir/nir_constant_expressions.py
-
-$(intermediates)/nir/nir_constant_expressions.c: $(nir_constant_expressions_deps)
-	@mkdir -p $(dir $@)
-	$(hide) $(MESA_PYTHON2) $(nir_constant_expressions_gen) $< > $@
-
-nir_opcodes_h_gen := $(LOCAL_PATH)/nir/nir_opcodes_h.py
-nir_opcodes_h_deps := \
-	$(LOCAL_PATH)/nir/nir_opcodes.py \
-	$(LOCAL_PATH)/nir/nir_opcodes_h.py
-
-$(intermediates)/nir/nir_opcodes.h: $(nir_opcodes_h_deps)
-	@mkdir -p $(dir $@)
-	$(hide) $(MESA_PYTHON2) $(nir_opcodes_h_gen) $< > $@
-
-$(LOCAL_PATH)/nir/nir.h: $(intermediates)/nir/nir_opcodes.h
-
-nir_opcodes_c_gen := $(LOCAL_PATH)/nir/nir_opcodes_c.py
-nir_opcodes_c_deps := \
-	$(LOCAL_PATH)/nir/nir_opcodes.py \
-	$(LOCAL_PATH)/nir/nir_opcodes_c.py
-
-$(intermediates)/nir/nir_opcodes.c: $(nir_opcodes_c_deps)
-	@mkdir -p $(dir $@)
-	$(hide) $(MESA_PYTHON2) $(nir_opcodes_c_gen) $< > $@
-
-nir_opt_algebraic_gen := $(LOCAL_PATH)/nir/nir_opt_algebraic.py
-nir_opt_algebraic_deps := \
-	$(LOCAL_PATH)/nir/nir_opt_algebraic.py \
-	$(LOCAL_PATH)/nir/nir_algebraic.py
-
-$(intermediates)/nir/nir_opt_algebraic.c: $(nir_opt_algebraic_deps)
-	@mkdir -p $(dir $@)
-	$(hide) $(MESA_PYTHON2) $(nir_opt_algebraic_gen) $< > $@
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
index 07d5267..9954b81 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -27,9 +27,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/gallium/include \
 	-I$(top_srcdir)/src/gallium/auxiliary \
 	-I$(top_srcdir)/src/glsl/glcpp \
-	-I$(top_srcdir)/src/glsl/nir \
 	-I$(top_srcdir)/src/gtest/include \
-	-I$(top_builddir)/src/glsl/nir \
 	$(DEFINES)
 AM_CFLAGS = \
 	$(VISIBILITY_CFLAGS) \
@@ -43,21 +41,12 @@ EXTRA_DIST = tests glcpp/tests README TODO glcpp/README	\
 	glsl_parser.yy					\
 	glcpp/glcpp-lex.l				\
 	glcpp/glcpp-parse.y				\
-	nir/nir_algebraic.py				\
-	nir/nir_builder_opcodes_h.py			\
-	nir/nir_constant_expressions.py			\
-	nir/nir_opcodes.py				\
-	nir/nir_opcodes_c.py				\
-	nir/nir_opcodes_h.py				\
-	nir/nir_opt_algebraic.py			\
-	nir/tests					\
 	SConscript
 
 include Makefile.sources
 
 TESTS = glcpp/tests/glcpp-test				\
 	glcpp/tests/glcpp-test-cr-lf			\
-        nir/tests/control_flow_tests			\
 	tests/blob-test					\
 	tests/general-ir-test				\
 	tests/optimization-test				\
@@ -68,11 +57,10 @@ TESTS_ENVIRONMENT= \
 	export PYTHON2=$(PYTHON2); \
 	export PYTHON_FLAGS=$(PYTHON_FLAGS);
 
-noinst_LTLIBRARIES = libnir.la libglsl.la libglcpp.la
+noinst_LTLIBRARIES = libglsl.la libglcpp.la
 check_PROGRAMS =					\
 	glcpp/glcpp					\
 	glsl_test					\
-	nir/tests/control_flow_tests			\
 	tests/blob-test					\
 	tests/general-ir-test				\
 	tests/sampler-types-test			\
@@ -138,24 +126,15 @@ glcpp_glcpp_LDADD =					\
 	-lm
 
 libglsl_la_LIBADD = \
-	$(top_builddir)/src/compiler/libcompiler.la \
+	$(top_builddir)/src/compiler/nir/libnir.la \
 	libglcpp.la
 
 libglsl_la_SOURCES =					\
 	glsl_lexer.cpp					\
 	glsl_parser.cpp					\
 	glsl_parser.h					\
-	$(LIBGLSL_FILES)				\
-	$(NIR_FILES)					\
-	$(NIR_GENERATED_FILES)				\
-	$(GLSL_TO_NIR_FILES)
+	$(LIBGLSL_FILES)
 
-libnir_la_LIBADD = \
-	$(top_builddir)/src/compiler/libcompiler.la
-
-libnir_la_SOURCES =					\
-	$(NIR_FILES)					\
-	$(NIR_GENERATED_FILES)
 
 glsl_compiler_SOURCES = \
 	$(GLSL_COMPILER_CXX_FILES)
@@ -235,8 +214,7 @@ BUILT_SOURCES =						\
 	glsl_parser.cpp					\
 	glsl_lexer.cpp					\
 	glcpp/glcpp-parse.c				\
-	glcpp/glcpp-lex.c				\
-	$(NIR_GENERATED_FILES)
+	glcpp/glcpp-lex.c
 CLEANFILES =						\
 	glcpp/glcpp-parse.h				\
 	glsl_parser.h					\
@@ -248,35 +226,3 @@ clean-local:
 dist-hook:
 	$(RM) glcpp/tests/*.out
 	$(RM) glcpp/tests/subtest*/*.out
-
-PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
-
-nir/nir_builder_opcodes.h: nir/nir_opcodes.py nir/nir_builder_opcodes_h.py
-	$(MKDIR_GEN)
-	$(PYTHON_GEN) $(srcdir)/nir/nir_builder_opcodes_h.py > $@ || ($(RM) $@; false)
-
-nir/nir_constant_expressions.c: nir/nir_opcodes.py nir/nir_constant_expressions.py
-	$(MKDIR_GEN)
-	$(PYTHON_GEN) $(srcdir)/nir/nir_constant_expressions.py > $@ || ($(RM) $@; false)
-
-nir/nir_opcodes.h: nir/nir_opcodes.py nir/nir_opcodes_h.py
-	$(MKDIR_GEN)
-	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_h.py > $@ || ($(RM) $@; false)
-
-nir/nir_opcodes.c: nir/nir_opcodes.py nir/nir_opcodes_c.py
-	$(MKDIR_GEN)
-	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_c.py > $@ || ($(RM) $@; false)
-
-nir/nir_opt_algebraic.c: nir/nir_opt_algebraic.py nir/nir_algebraic.py
-	$(MKDIR_GEN)
-	$(PYTHON_GEN) $(srcdir)/nir/nir_opt_algebraic.py > $@ || ($(RM) $@; false)
-
-nir_tests_control_flow_tests_SOURCES =			\
-	nir/tests/control_flow_tests.cpp
-nir_tests_control_flow_tests_CFLAGS =			\
-	$(PTHREAD_CFLAGS)
-nir_tests_control_flow_tests_LDADD =			\
-	$(top_builddir)/src/gtest/libgtest.la		\
-	$(top_builddir)/src/glsl/libnir.la		\
-	$(top_builddir)/src/util/libmesautil.la		\
-	$(PTHREAD_LIBS)
diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk
index cd31e14..ba952da 100644
--- a/src/mesa/Android.libmesa_dricore.mk
+++ b/src/mesa/Android.libmesa_dricore.mk
@@ -60,7 +60,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa/main \
 	$(MESA_TOP)/src/glsl \
-	$(MESA_TOP)/src/glsl/nir \
+	$(MESA_TOP)/src/compiler/nir \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
 
diff --git a/src/mesa/Android.libmesa_glsl_utils.mk b/src/mesa/Android.libmesa_glsl_utils.mk
index 9e150ea..894ae20 100644
--- a/src/mesa/Android.libmesa_glsl_utils.mk
+++ b/src/mesa/Android.libmesa_glsl_utils.mk
@@ -37,7 +37,7 @@ LOCAL_MODULE := libmesa_glsl_utils
 
 LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/glsl \
-	$(MESA_TOP)/src/glsl/nir \
+	$(MESA_TOP)/src/compiler/nir \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
@@ -63,7 +63,7 @@ LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L
 
 LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/glsl \
-	$(MESA_TOP)/src/glsl/nir \
+	$(MESA_TOP)/src/compiler/nir \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/gallium/include \
 	$(MESA_TOP)/src/gallium/auxiliary
diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
index 427a35f..ee8887b 100644
--- a/src/mesa/Android.libmesa_st_mesa.mk
+++ b/src/mesa/Android.libmesa_st_mesa.mk
@@ -55,7 +55,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa/main \
 	$(MESA_TOP)/src/glsl \
-	$(MESA_TOP)/src/glsl/nir \
+	$(MESA_TOP)/src/compiler/nir \
 	$(MESA_TOP)/src/gallium/auxiliary \
 	$(MESA_TOP)/src/gallium/include
 
diff --git a/src/mesa/Makefile.sources b/src/mesa/Makefile.sources
index 13a05f5..386d6aa 100644
--- a/src/mesa/Makefile.sources
+++ b/src/mesa/Makefile.sources
@@ -624,9 +624,8 @@ INCLUDE_DIRS = \
 	-I$(top_srcdir)/include \
 	-I$(top_srcdir)/src \
 	-I$(top_srcdir)/src/glsl \
-	-I$(top_srcdir)/src/glsl/nir \
+	-I$(top_builddir)/src/compiler/nir \
 	-I$(top_builddir)/src/glsl \
-	-I$(top_builddir)/src/glsl/nir \
 	-I$(top_srcdir)/src/glsl/glcpp \
 	-I$(top_srcdir)/src/mesa \
 	-I$(top_builddir)/src/mesa \
diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
index ad687bf..0db5a51 100644
--- a/src/mesa/drivers/dri/i965/Makefile.am
+++ b/src/mesa/drivers/dri/i965/Makefile.am
@@ -33,8 +33,7 @@ AM_CFLAGS = \
 	-I$(top_srcdir)/src/mesa/drivers/dri/common \
 	-I$(top_srcdir)/src/mesa/drivers/dri/intel/server \
 	-I$(top_srcdir)/src/gtest/include \
-	-I$(top_srcdir)/src/glsl/nir \
-	-I$(top_builddir)/src/glsl/nir \
+	-I$(top_builddir)/src/compiler/nir \
 	-I$(top_builddir)/src/mesa/drivers/dri/common \
 	$(DEFINES) \
 	$(VISIBILITY_CFLAGS) \
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index 9a54c2d..b75ebfe 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -31,7 +31,7 @@
 #include "brw_ir_fs.h"
 #include "brw_fs_builder.h"
 #include "glsl/ir.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 struct bblock_t;
 namespace {
diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c
index 935529a..287f935 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -23,8 +23,8 @@
 
 #include "brw_nir.h"
 #include "brw_shader.h"
-#include "glsl/nir/glsl_to_nir.h"
-#include "glsl/nir/nir_builder.h"
+#include "compiler/nir/glsl_to_nir.h"
+#include "compiler/nir/nir_builder.h"
 #include "program/prog_to_nir.h"
 
 static bool
diff --git a/src/mesa/drivers/dri/i965/brw_nir.h b/src/mesa/drivers/dri/i965/brw_nir.h
index 78b139b..079d8b2 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.h
+++ b/src/mesa/drivers/dri/i965/brw_nir.h
@@ -25,7 +25,7 @@
 
 #include "brw_context.h"
 #include "brw_reg.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h
index ddfd87d..4e00fd0 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -32,7 +32,7 @@
 #endif
 
 #include "glsl/ir.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 
 #ifdef __cplusplus
diff --git a/src/mesa/drivers/dri/i965/intel_asm_annotation.c b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
index 59cc863..459ea60 100644
--- a/src/mesa/drivers/dri/i965/intel_asm_annotation.c
+++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
@@ -25,7 +25,7 @@
 #include "brw_eu.h"
 #include "intel_debug.h"
 #include "intel_asm_annotation.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 void
 dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index e1e1e62..0230e3c 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -36,7 +36,7 @@
 #include "swrast/s_renderbuffer.h"
 #include "util/ralloc.h"
 #include "brw_shader.h"
-#include "glsl/nir/nir.h"
+#include "compiler/nir/nir.h"
 
 #include "utils.h"
 #include "xmlpool.h"
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index cc67f8a..0bc97a6 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -75,7 +75,7 @@ LOCAL_C_INCLUDES := \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa \
 	$(MESA_TOP)/src/glsl \
-	$(MESA_TOP)/src/glsl/nir \
+	$(MESA_TOP)/src/compiler/nir \
 	$(MESA_TOP)/src/gallium/auxiliary \
 	$(MESA_TOP)/src/gallium/include
 
diff --git a/src/mesa/program/prog_to_nir.c b/src/mesa/program/prog_to_nir.c
index ce6f699..a2ebb1b 100644
--- a/src/mesa/program/prog_to_nir.c
+++ b/src/mesa/program/prog_to_nir.c
@@ -23,8 +23,8 @@
  * IN THE SOFTWARE.
  */
 
-#include "nir/nir.h"
-#include "nir/nir_builder.h"
+#include "compiler/nir/nir.h"
+#include "compiler/nir/nir_builder.h"
 #include "glsl/list.h"
 #include "main/imports.h"
 #include "util/ralloc.h"
-- 
2.6.2



More information about the mesa-dev mailing list