Re: Code selection trade-offs



Hi Tim,

Do you know of any works where profiling information/ static program
analysis is used as a heuristic to control code selection, i.e. the
(profiling) execution counts of particular code structures are
influencing the choice of instructions used to translate the source
code into assembler?


This may be a little off-topic, but in this paper a technique is used
that uses profiling based basic block execution counts to guide the
generation of new instructions for extensible processor cores that
allow you to define your own application-specific instruction set
extensions:

Richard Bennett, Alastair Murray, Bjvrn Franke, and Nigel Topham.
Combining Source-to-Source Transformations and Processor Instruction Set
Extension for the Automated Design-Space Exploration of Embedded Systems.
Proceedings of ACM SIGPLAN/SIGBED 2007 Conference on Languages
Compilers, and Tools for Embedded Systems (LCTES 07), June 2007, San
Diego, USA.

Cheers,

Bjoern
.



Relevant Pages

  • Re: Add My Idea to the C++ Compiler
    ... Inlining functions removes the execution overhead (what you ... They have a coponent that fetches instructions until ... The idea is that the cache is faster ...
    (comp.lang.cpp)
  • [CLA-2004:847] Conectiva Security Announcement - php4
    ... Remote arbitrary code execution vulnerabilities and other ... It is recommended that all PHP users upgrade their packages. ... Detailed instructions regarding the use of apt and upgrade examples ...
    (Bugtraq)
  • Re: Python vs. Lisp -- please explain
    ... The criteria were "no compilation, all parsing etc redone at each ... execution": things which would possibly describe features of a language ... be many advantages in generating instructions in another form for later ... Not that this applies to Python, ...
    (comp.lang.python)
  • Re: 50g questions, programming and OS
    ... hardware emulator for the "idealized" intel cpu... ... high level CPU instructions fire small programs inside CPU itself ... Compared to sysRPL instructions which are then interpreted by the CPU core ... Multiple execution cores and instruction decoders (at some point AMD had 3 ...
    (comp.sys.hp48)
  • Re: do binary packages support newer processor features?
    ... like the Pentium MMX instructions. ... "Hyper Pipelined Technology, a Rapid Execution Engine, Advanced Dynamic ... Hyper-Threading technology today, while workstation applications are ... I was in a department that wrote the optimizer ...
    (comp.os.linux.misc)