Project

General

Profile

Actions

Bug #1357

closed

Fixing variables into specific CPU registers deemed overrated & may disturb compilers' optimizers

Added by roberto (Ollivier Robert) about 15 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.2dev (2009-03-31) [i386-darwin9.6.0]
Backport:
[ruby-core:23132]

Description

=begin
I do not think that fixing specific variable into CPU registers is really reflected in performance gains (benchmarks welcome!). It will also generally disturb compilers' handling of optimization (especially on register-starved CPUs like IA-32/i386) and may generate less efficient code. Remove the i386/amd64-specific code.

As a side-effect, it enables successful compilation with recent versions of clang/llvm.
=end


Files

reg.diff (401 Bytes) reg.diff Patch to remove i386/amd64 register assignments. roberto (Ollivier Robert), 04/06/2009 05:43 PM
Actions #1

Updated by nobu (Nobuyoshi Nakada) about 15 years ago

=begin
Hi,

At Mon, 6 Apr 2009 17:43:20 +0900,
Ollivier Robert wrote in [ruby-core:23132]:

As a side-effect, it enables successful compilation with
recent versions of clang/llvm.

Does it have a macro to tell if it's clang/llvm?

--
Nobu Nakada

=end

Actions #2

Updated by roberto (Ollivier Robert) about 15 years ago

=begin
clang uses clang as main #define. It also aims to support most GNUC constructs & defines.
=end

Actions #3

Updated by nobu (Nobuyoshi Nakada) about 15 years ago

=begin
Hi,

At Mon, 6 Apr 2009 19:38:09 +0900,
Ollivier Robert wrote in [ruby-core:23137]:

clang uses clang as main #define. It also aims to
support most GNUC constructs & defines.

Also GNUC and i386?

I'd thought llvm generates code for it's own VM.

--
Nobu Nakada

=end

Actions #4

Updated by yugui (Yuki Sonoda) almost 15 years ago

  • Status changed from Open to Feedback
  • Assignee set to ko1 (Koichi Sasada)

=begin

=end

Actions #5

Updated by naruse (Yui NARUSE) over 14 years ago

  • Status changed from Feedback to Closed

=begin
r25504 fixes this.
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0