tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] inline assembly and optimization passes


From: Sylvain BERTRAND
Subject: Re: [Tinycc-devel] inline assembly and optimization passes
Date: Fri, 20 Sep 2013 16:42:21 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

> I'm not familiar with optimization but I would guess it would
> have a non negligeable impact on tcc's performance. If you want
> basic optimization you could try -O1 switch of gcc or clang.
> Unless the cost of an optimization is negligeable, I think adding
> it to tcc is not a good idea. Many people are interested in tcc
> because of its fast compilation so I would say it's more
> important to keep it fast than to make the generated code better.

As a user, I certainly do not want those few optimization passes
to be defaulted. Just to have them on the side and only enabled
if explicitely asked. The real question is how disruptive to
tinycc internals the support of those few basic optimizations
passes would be, even if disabled. For instance the "variable
aliasing" pass, if that pass gives really significant boost at
generated code for the reasons I stated in my previous email.

gcc (from 4.8) and clang are dead for me: those are c++ projects
(you cannot compile gcc 4.8 with tcc even if you wanted to fix
all required C support for it). I don't like that language for
Linus T. reasons and more. Let this topic go far away from tinycc
(trolls/flamewars), please.

>> I thought about a "constant folding" pass but I'm not convince
>> this pass would give a significant boost over my perception of
>> general C code.
> 
> There is constant propagation in tcc, I don't know if it is what
> you are talking about.

Since I'm not familiar with optimization neither, maybe this
"constant propagation" is the same thing I talked about. No idea.

> There is already inline assembly in tcc for i386 and x86-64.
> However, the support is not fully complete.

Oops! I thought the x86-64 backend has no inline assembly but
generated directly machine code. My bad (or last time I tried to
check, I understood wrongly the code, long time ago).

thanks,

-- 
Sylvain



reply via email to

[Prev in Thread] Current Thread [Next in Thread]