Hi Pekka, > Instead of always representing the HSAIL's untyped registers as > unsigned int, the gccbrig now pre-analyzes the BRIG code and > builds the register variables as a type used the most when storing > or reading data to/from each register. This reduces the total > conversions which cannot be always optimized away.
this patch broke i686-pc-linux-gnu bootstrap: /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc: In function 'std::__cxx11::string gccbrig_hsa_reg_name_from_id(size_t)': /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc:513:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Werror=format=] sprintf (reg_name, "$c%lu", reg_hash); ^ /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc:520:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Werror=format=] sprintf (reg_name, "$s%lu", reg_hash); ^ /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc:527:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Werror=format=] sprintf (reg_name, "$d%lu", reg_hash); ^ /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc:534:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Werror=format=] sprintf (reg_name, "$q%lu", reg_hash); ^ /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc: In function 'void gccbrig_print_reg_use_info(FILE*, const regs_use_index&)': /vol/gcc/src/hg/trunk/local/gcc/brig/brigfrontend/brig-util.cc:559:40: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Werror=format=] fprintf (dump, "(%lu) ", it2->second); ~~~~~~~~~~~^ /vol/gcc/src/hg/trunk/local/gcc/brig/Make-lang.in:250: recipe for target 'brig/brig-util.o' failed make[3]: *** [brig/brig-util.o] Error 1 Please fix. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University