Other part simply looks good to me. Thanks!

Thanks!
Ruiling
-----Original Message-----
From: Beignet [mailto:beignet-boun...@lists.freedesktop.org] On Behalf Of 
Zhigang Gong
Sent: Friday, March 28, 2014 3:11 PM
To: beignet@lists.freedesktop.org
Cc: Gong, Zhigang
Subject: [Beignet] [PATCH 00/17] IF/ENDIF transformation seres.

This patchset transforms the previous predication style basic block encoding to 
IF/ENDIF style. This make some further optimization possible and easier (the 
SEL/SEL_CMP and some possible extension). And it also opens a door to mix 
structured/unstructured branches together in the future. This patchset has some 
patches already sent before, and rebase to the latest master and packaing them 
into this patchset. Please ignore the previous patch on the list and review 
this one instead.

Zhigang Gong (17):
  GBE: Add a new pass to handle barrier function's noduplicate attribute
    correctly.
  GBE: Remove BBs if it only has a label instruction.
  GBE: refine the "scalar" register handling.
  GBE: fix the wrong usage of stack pointer and stack buffer.
  GBE: use a uniform style to calculate register size for curbe
    allocation.
  GBE: fix one misusage of flag in forward jump.
  GBE: use S16 vector to represent bool.
  GBE: further optimize forward/backward jump.
  GBE: Add if/endif/brc/brd instruction support.
  GBE: Disable SPF and use JMPI + IF/ENDIF to handle each blocks.
  GBE: Don't need the emask/notemask/barriermask any more.
  GBE: Only emit long jump when jump a lot of blocks
  GBE: pass the OCL_STRICT_CONFORMANCE env to the backend.
  GBE: one instruction is enough for SEL_CMP now.
  GBE: don't emit jmpi to next label.
  GBE: Add two helper scalar registers to hold 0 and all 1s.
  GBE: avoid use a temporay register at the CMP instruction.

 backend/src/CMakeLists.txt                 |   1 +
 backend/src/backend/context.cpp            | 123 +------
 backend/src/backend/context.hpp            |   5 +-
 backend/src/backend/gen/gen_mesa_disasm.c  |  32 +-
 backend/src/backend/gen_context.cpp        | 296 +++++++++++------
 backend/src/backend/gen_context.hpp        |  21 +-
 backend/src/backend/gen_defs.hpp           |   8 +-
 backend/src/backend/gen_encoder.cpp        |  54 +++-
 backend/src/backend/gen_encoder.hpp        |  16 +-
 backend/src/backend/gen_insn_selection.cpp | 496 +++++++++++++---------------- 
 backend/src/backend/gen_insn_selection.hpp |  14 +
 backend/src/backend/gen_insn_selection.hxx |   4 +
 backend/src/backend/gen_program.cpp        |   4 +-
 backend/src/backend/gen_program.hpp        |   2 +-
 backend/src/backend/gen_reg_allocation.cpp |  28 +-
 backend/src/backend/gen_reg_allocation.hpp |   2 +
 backend/src/backend/gen_register.hpp       |  13 +-
 backend/src/backend/program.cpp            |   5 +-
 backend/src/backend/program.h              |   5 +-
 backend/src/backend/program.hpp            |   3 +-
 backend/src/ir/context.cpp                 |   7 +-
 backend/src/ir/context.hpp                 |   2 +-
 backend/src/ir/function.cpp                |  75 +++++
 backend/src/ir/function.hpp                |   8 +-
 backend/src/ir/lowering.cpp                |   3 +-
 backend/src/ir/profile.cpp                 |  70 ++--
 backend/src/ir/profile.hpp                 |  14 +-
 backend/src/ir/register.hpp                |  13 +-
 backend/src/llvm/llvm_barrier_nodup.cpp    | 114 +++++++
 backend/src/llvm/llvm_gen_backend.cpp      |  27 +-
 backend/src/llvm/llvm_gen_backend.hpp      |   2 +
 backend/src/llvm/llvm_to_gen.cpp           |   2 +
 backend/src/ocl_barrier.ll                 |   6 +-
 src/cl_api.c                               |   1 +
 src/intel/intel_driver.c                   |   1 +
 src/intel/intel_gpgpu.c                    |   2 +-
 utests/compiler_long_cmp.cpp               |   1 +
 utests/compiler_unstructured_branch0.cpp   |   4 +-
 utests/compiler_unstructured_branch1.cpp   |   3 +-
 utests/compiler_unstructured_branch2.cpp   |  10 +-
 40 files changed, 875 insertions(+), 622 deletions(-)  create mode 100644 
backend/src/llvm/llvm_barrier_nodup.cpp

--
1.8.3.2

_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet
_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to