> 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 _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
