HSW: Workaround the slm address issue.
authorYang Rong <rong.r.yang@intel.com>
Mon, 19 May 2014 05:52:21 +0000 (13:52 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Mon, 19 May 2014 04:54:16 +0000 (12:54 +0800)
commitdb86e8749b149a233611f380386ba5bf904d2ee3
tree82b68f5633422a0a8d19c18494b622efa2b88de0
parente7aa4146ab27d9c632233c047bb9ad0464f0ffc9
HSW: Workaround the slm address issue.

Each work group has it's own slm offset, and when dispatch threads,
TSG will handle it automatic in IVB. But it will fail in HSW.
After check, all work group's slm offset are 0, even the slm index is
correct in R0.0. So calc the slm offset for slm index, and add it
to the slm address.
TODO: need to find the root casue.

Signed-off-by: Yang Rong <rong.r.yang@intel.com>
Reviewed-by: Junyan He <junyan.he@inbox.com>
backend/src/backend/gen75_context.cpp
backend/src/backend/gen75_context.hpp
backend/src/backend/gen_context.cpp
backend/src/backend/gen_context.hpp
backend/src/backend/gen_insn_selection.cpp
backend/src/backend/gen_insn_selection.hpp
backend/src/backend/program.h
backend/src/ir/profile.cpp
backend/src/ir/profile.hpp