GCC
from Mr Jerome Huck Good morning. I have been using the GCC suite on Windows, mainly in the various Fortran. 77, 2003,... Thanks for those tools ! The Little Google Nexus 7 seems a wonderfull tool. I would like to know if we can expect a version of GCC to run on Android for such the Nexus 7 ? Thanks in advance. Best regards.
confusing "bug is not reproducible, so it is likely a hardware or OS problem" message
Hello All, When a plugin calls fatal_error, the compilation naturally fails, but the last error message is misleading, it says (while getting a bug in the MELT plugin for example) cc1: fatal error: MELT plugin module compilation failed (512) in /home/basile/tmp for command make -s -f /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/melt-module-0.9.7-rc1.mk GCCMELT_MODULE_SOURCEBASE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/MELTrun0001_eXt GCCMELT_MODULE_BINARYBASE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/MELTrun0001_eXt MELTGCC_BUILD_WITH_CXX=YesPlugin GCCMELT_CFLAGS=-I\ /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/melt-headers/0.9.7-rc1\ -I\ /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/include\ -I\ /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/include/c-family\ \ -DIN_GCC\ -DMELT_IS_PLUGIN\ -O GCCMELT_MODULE_WORKSPACE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/ GCCMELT_MODULE_FLAVOR=runextend melt_module compilation terminated. The bug is not reproducible, so it is likely a hardware or OS problem. This last sentence is very confusing. I would like to replace it with e.g. The bug is not reproducible, so it could be a plugin, hardware or OS problem But I didn't find that string with grep on GCC trunk's source files. Where does that message come from? Regards. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basilestarynkevitchnet mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mines, sont seulement les miennes} ***
Proposed C++ optimization with big speed gains with big objects
Hi guys I wana discuss proposed optimization step(optional switch?) to c++ compiller that would make old and new code in some cases order of magnitude faster by just pure recompilation. ...After all those attempts to store anything via = without waste I think that compiller should do "placement new" transparently for us whenever he encounters = on movable object. Instead of forcing us to implement zillion && operators that solve only heap side of problem. Deciding what kind of "this" object should use is easy since static analysis deciding what object is movable is already part of new compiller support for &&. Skyscrapper city[1000]; // instead of temp city[1] = Skyscrapper("Empire State Building"); // compiller should use &city[1] as this pointer This would fix heap and static(which && can't) waste = zero alloc/copy. Why is static mem waste equally if not more important? Majority of objects are small thus majority of their memory is static. Benchmark results in article www codeproject com/Articles/453022/The-new-Cplusplus-11-rvalue-reference-and-why-you I am actively attemting to test this change in gcc But I am kinda lost in gcc code. maybe somebody from you guys can trow togethed this auto placement new instead of temp a lot faster since you know your code. I just can't wait to see the numbers of speed gained from untouched c++ code. Like running benchmark code from my article but with such compiller changes. I love what you guys do. Keep up the great opensource work. Best Regards Ladislav [Unemployed] neuralll[@]gmail[.]com
Re: confusing "bug is not reproducible, so it is likely a hardware or OS problem" message
On Mon, Sep 24, 2012 at 1:01 PM, Basile Starynkevitch wrote: > Hello All, > > When a plugin calls fatal_error, the compilation naturally fails, > but the last error message is misleading, it says > (while getting a bug in the MELT plugin for example) > > > cc1: fatal error: MELT plugin module compilation failed (512) in > /home/basile/tmp for command make -s -f > /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/melt-module-0.9.7-rc1.mk > GCCMELT_MODULE_SOURCEBASE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/MELTrun0001_eXt > GCCMELT_MODULE_BINARYBASE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/MELTrun0001_eXt > MELTGCC_BUILD_WITH_CXX=YesPlugin GCCMELT_CFLAGS=-I\ > /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/melt-headers/0.9.7-rc1\ -I\ > /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/include\ -I\ > /usr/lib/gcc/x86_64-linux-gnu/4.7/plugin/include/c-family\ \ -DIN_GCC\ > -DMELT_IS_PLUGIN\ -O > GCCMELT_MODULE_WORKSPACE=/tmp/filegInaXb-GccMeltTmp-e6c45b3/ > GCCMELT_MODULE_FLAVOR=runextend melt_module > compilation terminated. > The bug is not reproducible, so it is likely a hardware or OS problem. > > This last sentence is very confusing. I would like to replace it with e.g. > > The bug is not reproducible, so it could be a plugin, hardware or OS problem > > But I didn't find that string with grep on GCC trunk's source files. > > Where does that message come from? It comes from your distributor who patched GCC. Richard. > Regards. > -- > Basile STARYNKEVITCH http://starynkevitch.net/Basile/ > email: basilestarynkevitchnet mobile: +33 6 8501 2359 > 8, rue de la Faiencerie, 92340 Bourg La Reine, France > *** opinions {are only mines, sont seulement les miennes} ***
bad reassociation with signed integer code after PR45232.
Hi, I noticed some minor regression with singed integer operations in "the proprietary" code since http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45232. Of course, I could use "-fwrapv" flag but my question is: why we could not add overflow checking in for example int_const_binop() at fold-const.c for signed integers restore original behavior of the reassociation pass? thanks, Dinar.
Re: bad reassociation with signed integer code after PR45232.
On Mon, Sep 24, 2012 at 2:04 PM, Dinar Temirbulatov wrote: > Hi, > I noticed some minor regression with singed integer operations in "the > proprietary" code since > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45232. Of course, I could > use "-fwrapv" flag but my question is: why we could not add overflow > checking in for example int_const_binop() at fold-const.c for signed > integers restore original behavior of the reassociation pass? Because the compiler may not introduce expressions that may overflow. Richard. > thanks, Dinar.
Re: GCC
On 9/24/2012 6:53 AM, Jerome Huck wrote: from Mr Jerome Huck Good morning. I have been using the GCC suite on Windows, mainly in the various Fortran. 77, 2003,... Thanks for those tools ! The Little Google Nexus 7 seems a wonderfull tool. I would like to know if we can expect a version of GCC to run on Android for such the Nexus 7 ? Sooner if you get to work on creating the port! Thanks in advance. Best regards.
predicate for getting declaration tree node for SUBREG
Hi, I see there is predicate REG_EXPR for getting declaration node for a REG rtx. It would be helpful If I get an equivalent predicate for a SUBREG rtx. I couldn't find such thing. My requirement is : I need find out if an operand is signed/unsigned from rtx.I am doing as below. rtx op0; tree decl0; decl0 = REG_EXPR (op0); unsignedp =TYPE_UNSIGNED (TREE_TYPE (decl0)): But if my rtx is SUBREG ,I couldn't find equivalent predicate similar to REG_EXPR. Regards, srinivas
Re: predicate for getting declaration tree node for SUBREG
On Mon, Sep 24, 2012 at 3:01 PM, srinivas dama wrote: > Hi, > > I see there is predicate REG_EXPR for getting declaration node for a REG rtx. > It would be helpful If I get an equivalent predicate for a SUBREG rtx. > I couldn't find such thing. > > My requirement is : > > I need find out if an operand is signed/unsigned from rtx.I am doing as below. > rtx op0; > tree decl0; > decl0 = REG_EXPR (op0); > unsignedp =TYPE_UNSIGNED (TREE_TYPE (decl0)): > > > But if my rtx is SUBREG ,I couldn't find equivalent predicate similar > to REG_EXPR. There isn't one. Similar to how REG_EXPR can be NULL. In that case you simply don't know. Richard. > > > Regards, > srinivas
Re: Proposed C++ optimization with big speed gains with big objects
Hi, I think what you want is a custom allocator : http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html http://www.boost.org/doc/libs/1_45_0/doc/html/interprocess/allocators_containers.html http://stackoverflow.com/questions/2439536/strategy-to-allocate-free-lots-of-small-objects hope that helps, mike On Mon, Sep 24, 2012 at 1:02 PM, _ wrote: > Hi guys > > I wana discuss proposed optimization step(optional switch?) to c++ > compiller that would make old and new code in some cases order of > magnitude faster by just pure recompilation. > > ...After all those attempts to store anything via = without waste I > think that compiller should do "placement new" transparently for us > whenever he encounters = on movable object. Instead of forcing us to > implement zillion && operators that solve only heap side of problem. > Deciding what kind of "this" object should use is easy since static > analysis deciding what object is movable is already part of new > compiller support for &&. > > Skyscrapper city[1000]; // instead of temp > city[1] = Skyscrapper("Empire State Building"); // compiller should > use &city[1] as this pointer > > This would fix heap and static(which && can't) waste = zero alloc/copy. > Why is static mem waste equally if not more important? Majority of > objects are small thus majority of their memory is static. > > Benchmark results in article www codeproject > com/Articles/453022/The-new-Cplusplus-11-rvalue-reference-and-why-you > > I am actively attemting to test this change in gcc > But I am kinda lost in gcc code. maybe somebody from you guys can > trow togethed this auto placement new instead of temp a lot faster > since you know your > code. > I just can't wait to see the numbers of speed gained from untouched c++ code. > Like running benchmark code from my article but with such compiller > changes. > > I love what you guys do. Keep up the great opensource work. > > Best Regards Ladislav [Unemployed] > neuralll[@]gmail[.]com -- James Michael DuPont Member of Free Libre Open Source Software Kosova http://flossk.org Saving wikipedia(tm) articles from deletion http://SpeedyDeletion.wikia.com Contributor FOSM, the CC-BY-SA map of the world http://fosm.org Mozilla Rep https://reps.mozilla.org/u/h4ck3rm1k3 Free Software Foundation Europe Fellow http://fsfe.org/support/?h4ck3rm1k3