[parrot/parrot] d20494: [config] support __builtin_expect LIKELY/UNLIKELY ...

GitHub noreply at github.com
Sat Jan 10 11:37:01 UTC 2015


  Branch: refs/heads/rurban/pasm_out
  Home:   https://github.com/parrot/parrot
  Commit: d204948f27d9ea5c23c81d5f9c8853dfa0e4c978
      https://github.com/parrot/parrot/commit/d204948f27d9ea5c23c81d5f9c8853dfa0e4c978
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M config/gen/config_h/feature_h.in

  Log Message:
  -----------
  [config] support __builtin_expect LIKELY/UNLIKELY branch optimizations

add EXPECT,LIKELY,UNLIKELY macros to feature.h as in the linux kernel and perl5
probe for __builtin_expect() support in a new auto::expect configure step

Usage: if (UNLIKELY(var == 0)) fail();

Add emacs mode:c support for test_c.in files, and relax the coda test for this.
Should be used in all test_c.in files.


  Commit: bc8496bd7db8b897cd168b11e7866b68e2fffe8f
      https://github.com/parrot/parrot/commit/bc8496bd7db8b897cd168b11e7866b68e2fffe8f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M .gitignore
    M compilers/imcc/debug.c
    M compilers/imcc/imc.c
    M compilers/imcc/imc.h
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M compilers/imcc/instructions.c
    M compilers/imcc/instructions.h
    M compilers/imcc/main.c
    M compilers/imcc/pbc.c
    M compilers/imcc/pbc.h
    M compilers/imcc/reg_alloc.c
    M config/gen/config_h/feature_h.in
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/embed.h
    M lib/Parrot/Test.pm
    M src/pmc/imccompiler.pmc
    A t/compilers/imcc/imcpasm/cfg.t
    A t/compilers/imcc/imcpasm/opt0.t
    A t/compilers/imcc/imcpasm/opt1.t
    A t/compilers/imcc/imcpasm/opt2.t
    A t/compilers/imcc/imcpasm/optc.t
    A t/compilers/imcc/imcpasm/pcc.t

  Log Message:
  -----------
  re-add PASM output to imcc, re-add imcpasm tests

one new IMCCompiler api method: set_to_pasm
remove static output in imcc/instructions.c
detect .pasm -o outfile extension
add and fix old t/compilers/imcc/imcpasm/*.t tests and the pir_2*_
  Parrot::Test methods
change Parrot::Test pir_2_pasm method to use -d1000, which is equivalent
  to pasm output, just to stderr.
use new LIKELY/UNLIKELY macros


  Commit: ac72eb84f1155551b0890a276ed88979528e885c
      https://github.com/parrot/parrot/commit/ac72eb84f1155551b0890a276ed88979528e885c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M ChangeLog
    M compilers/imcc/api.c
    M compilers/imcc/instructions.c
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/api.h
    M t/compilers/imcc/imcpasm/opt2.t
    M t/compilers/imcc/imcpasm/optc.t

  Log Message:
  -----------
  enable pasm_out in parrot2, todo failing imcpasm tests

opt2 fails with changed used_once semantics: I0 = 10 is side-effecting, but *can* be removed
if I0 is used only once (GH #1036), ...


  Commit: 77ed07777d214fbd4bbf1514fc55ab5347439a6f
      https://github.com/parrot/parrot/commit/77ed07777d214fbd4bbf1514fc55ab5347439a6f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M lib/Parrot/Test.pm

  Log Message:
  -----------
  [test] ignore TEST_PROG_ARGS -O2 for opt1.t tests


  Commit: 1feeadf29caf23f78f6741392b7b98c4b0ada097
      https://github.com/parrot/parrot/commit/1feeadf29caf23f78f6741392b7b98c4b0ada097
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M compilers/imcc/debug.c

  Log Message:
  -----------
  [cage] overlong line


  Commit: dc2415fe5b6d94efc83a870a1b81d240c28b32f7
      https://github.com/parrot/parrot/commit/dc2415fe5b6d94efc83a870a1b81d240c28b32f7
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M .gitignore
    M MANIFEST
    M MANIFEST.SKIP

  Log Message:
  -----------
  [cage] update MANIFEST{,.SKIP}, .gitignore


  Commit: ab109b50f00c528c455b3c37ef404bcb71a31539
      https://github.com/parrot/parrot/commit/ab109b50f00c528c455b3c37ef404bcb71a31539
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M compilers/imcc/api.c
    M compilers/imcc/debug.c
    M compilers/imcc/instructions.c

  Log Message:
  -----------
  [codingstd] add docs, ...


  Commit: 34b28c1e429f5bf9d0117cf29fb925e615bdd756
      https://github.com/parrot/parrot/commit/34b28c1e429f5bf9d0117cf29fb925e615bdd756
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M compilers/imcc/main.c
    M include/imcc/embed.h

  Log Message:
  -----------
  [cage] imcc/embed.h

error: nonnull argument references non-pointer operand
with llvm


  Commit: f79e89355aad67805ec13f141fdbd0d8de693a63
      https://github.com/parrot/parrot/commit/f79e89355aad67805ec13f141fdbd0d8de693a63
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M compilers/imcc/api.c
    M compilers/imcc/debug.c
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M compilers/imcc/instructions.c
    M compilers/imcc/instructions.h
    M compilers/imcc/main.c
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/api.h
    M include/imcc/embed.h
    M src/interp/api.c
    M src/pmc/imccompiler.pmc

  Log Message:
  -----------
  [imcc] rename to set_write_pasm, revamp api

Improve docs of the imcc API

pasm_out:
Pass the outfile path to set_write_pasm, so that we can
initialize it emit_open. Since the lexer doesn't know the outfile name
check for NULL in the lexer called emit_open(). Already initialized earlier
by the frontend.

The new parrot needs to store the outfile for the pasm out api.


Compare: https://github.com/parrot/parrot/compare/d204948f27d9^...f79e89355aad


More information about the parrot-commits mailing list