This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

A recent patch increased GCC's memory consumption in some cases!


Hi,

I am a friendly script caring about memory consumption in GCC.  Please
contact jh@suse.cz if something is going wrong.

Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:


comparing empty function compilation at -O0 level:
  Ovarall memory allocated via mmap and sbrk decreased from 8475k to 8184k, overall -3.56%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 1408k to 1291k, overall -9.06%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 1338k to 1217k, overall -9.94%
  Amount of produced GGC garbage decreased from 249k to 218k, overall -14.19%
  Amount of memory still referenced at the end of compilation decreased from 1331k to 1222k, overall -8.97%
    Overall memory needed: 8475k -> 8184k
    Peak memory use before GGC: 1408k -> 1291k
    Peak memory use after GGC: 1338k -> 1217k
    Maximum of released memory in single GGC run: 173k -> 134k
    Garbage: 249k -> 218k
    Leak: 1331k -> 1222k
    Overhead: 159k -> 136k
    GGC runs: 3 -> 4
  Amount of produced pre-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced pre-ipa decreased from 1333k to 1224k, overall -8.94%
    Pre-IPA-Garbage: 238k -> 207k
    Pre-IPA-Leak: 1333k -> 1224k
    Pre-IPA-Overhead: 157k -> 135k
  Amount of produced post-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced post-ipa decreased from 1333k to 1224k, overall -8.94%
    Post-IPA-Garbage: 238k -> 207k
    Post-IPA-Leak: 1333k -> 1224k
    Post-IPA-Overhead: 157k -> 135k

comparing empty function compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 1436k to 1319k, overall -8.87%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 1365k to 1245k, overall -9.64%
  Amount of produced GGC garbage decreased from 252k to 220k, overall -14.55%
  Amount of memory still referenced at the end of compilation decreased from 1364k to 1254k, overall -8.75%
    Overall memory needed: 8503k -> 8428k
    Peak memory use before GGC: 1436k -> 1319k
    Peak memory use after GGC: 1365k -> 1245k
    Maximum of released memory in single GGC run: 167k -> 133k
    Garbage: 252k -> 220k
    Leak: 1364k -> 1254k
    Overhead: 163k -> 141k
    GGC runs: 4
  Amount of produced pre-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced pre-ipa decreased from 1333k to 1224k, overall -8.94%
    Pre-IPA-Garbage: 238k -> 207k
    Pre-IPA-Leak: 1333k -> 1224k
    Pre-IPA-Overhead: 157k -> 135k
  Amount of produced post-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced post-ipa decreased from 1333k to 1224k, overall -8.94%
    Post-IPA-Garbage: 238k -> 207k
    Post-IPA-Leak: 1333k -> 1224k
    Post-IPA-Overhead: 157k -> 135k

comparing empty function compilation at -O1 level:
  Ovarall memory allocated via mmap and sbrk decreased from 8547k to 8240k, overall -3.73%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 1408k to 1291k, overall -9.06%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 1338k to 1217k, overall -9.94%
  Amount of produced GGC garbage decreased from 252k to 221k, overall -13.94%
  Amount of memory still referenced at the end of compilation decreased from 1331k to 1222k, overall -8.96%
    Overall memory needed: 8547k -> 8240k
    Peak memory use before GGC: 1408k -> 1291k
    Peak memory use after GGC: 1338k -> 1217k
    Maximum of released memory in single GGC run: 168k -> 134k
    Garbage: 252k -> 221k
    Leak: 1331k -> 1222k
    Overhead: 160k -> 137k
    GGC runs: 4
  Amount of produced pre-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced pre-ipa decreased from 1334k to 1224k, overall -8.94%
    Pre-IPA-Garbage: 238k -> 207k
    Pre-IPA-Leak: 1334k -> 1224k
    Pre-IPA-Overhead: 157k -> 135k
  Amount of produced post-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced post-ipa decreased from 1334k to 1224k, overall -8.94%
    Post-IPA-Garbage: 238k -> 207k
    Post-IPA-Leak: 1334k -> 1224k
    Post-IPA-Overhead: 157k -> 135k

comparing empty function compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 1409k to 1291k, overall -9.14%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 1338k to 1218k, overall -9.85%
  Amount of produced GGC garbage decreased from 255k to 226k, overall -12.67%
  Amount of memory still referenced at the end of compilation decreased from 1332k to 1222k, overall -8.96%
    Overall memory needed: 8575k -> 8456k
    Peak memory use before GGC: 1409k -> 1291k
    Peak memory use after GGC: 1338k -> 1218k
    Maximum of released memory in single GGC run: 168k -> 135k
    Garbage: 255k -> 226k
    Leak: 1332k -> 1222k
    Overhead: 160k -> 138k
    GGC runs: 4
  Amount of produced pre-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced pre-ipa decreased from 1334k to 1225k, overall -8.94%
    Pre-IPA-Garbage: 238k -> 207k
    Pre-IPA-Leak: 1334k -> 1225k
    Pre-IPA-Overhead: 157k -> 135k
  Amount of produced post-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced post-ipa decreased from 1334k to 1225k, overall -8.94%
    Post-IPA-Garbage: 238k -> 207k
    Post-IPA-Leak: 1334k -> 1225k
    Post-IPA-Overhead: 157k -> 135k

comparing empty function compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 1409k to 1291k, overall -9.14%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 1338k to 1218k, overall -9.85%
  Amount of produced GGC garbage decreased from 255k to 226k, overall -12.67%
  Amount of memory still referenced at the end of compilation decreased from 1332k to 1222k, overall -8.96%
    Overall memory needed: 8559k -> 8460k
    Peak memory use before GGC: 1409k -> 1291k
    Peak memory use after GGC: 1338k -> 1218k
    Maximum of released memory in single GGC run: 168k -> 135k
    Garbage: 255k -> 226k
    Leak: 1332k -> 1222k
    Overhead: 160k -> 138k
    GGC runs: 4
  Amount of produced pre-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced pre-ipa decreased from 1334k to 1225k, overall -8.94%
    Pre-IPA-Garbage: 238k -> 207k
    Pre-IPA-Leak: 1334k -> 1225k
    Pre-IPA-Overhead: 157k -> 135k
  Amount of produced post-ipa-GGC garbage decreased from 238k to 207k, overall -14.71%
  Amount of memory referenced post-ipa decreased from 1334k to 1225k, overall -8.94%
    Post-IPA-Garbage: 238k -> 207k
    Post-IPA-Leak: 1334k -> 1225k
    Post-IPA-Overhead: 157k -> 135k

comparing combine.c compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 31131k to 32044k, overall 2.93%
    Overall memory needed: 31131k -> 32044k
    Peak memory use before GGC: 18036k -> 18032k
    Peak memory use after GGC: 17772k -> 17774k
    Maximum of released memory in single GGC run: 1849k -> 1866k
    Garbage: 39998k -> 39944k
    Leak: 5752k -> 5639k
    Overhead: 5321k -> 5267k
    GGC runs: 338 -> 339
  Amount of produced pre-ipa-GGC garbage increased from 12564k to 12582k, overall 0.14%
    Pre-IPA-Garbage: 12564k -> 12582k
    Pre-IPA-Leak: 19394k -> 19385k
    Pre-IPA-Overhead: 2632k -> 2624k
  Amount of produced post-ipa-GGC garbage increased from 12564k to 12582k, overall 0.14%
    Post-IPA-Garbage: 12564k -> 12582k
    Post-IPA-Leak: 19394k -> 19385k
    Post-IPA-Overhead: 2632k -> 2624k

comparing combine.c compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 32995k to 34056k, overall 3.22%
    Overall memory needed: 32995k -> 34056k
    Peak memory use before GGC: 19963k -> 19957k
    Peak memory use after GGC: 19627k -> 19629k
    Maximum of released memory in single GGC run: 1859k -> 1875k
    Garbage: 40344k -> 40247k
    Leak: 9067k -> 8928k
    Overhead: 6141k -> 6084k
    GGC runs: 320 -> 322
  Amount of produced pre-ipa-GGC garbage increased from 12663k to 12681k, overall 0.14%
    Pre-IPA-Garbage: 12663k -> 12681k
    Pre-IPA-Leak: 21667k -> 21658k
    Pre-IPA-Overhead: 3122k -> 3114k
  Amount of produced post-ipa-GGC garbage increased from 12663k to 12681k, overall 0.14%
    Post-IPA-Garbage: 12663k -> 12681k
    Post-IPA-Leak: 21667k -> 21658k
    Post-IPA-Overhead: 3122k -> 3114k

comparing combine.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 30059k to 31020k, overall 3.20%
  Peak amount of GGC memory allocated before garbage collecting increased from 15662k to 15689k, overall 0.17%
  Peak amount of GGC memory still allocated after garbage collecting increased from 15480k to 15518k, overall 0.25%
    Overall memory needed: 30059k -> 31020k
    Peak memory use before GGC: 15662k -> 15689k
    Peak memory use after GGC: 15480k -> 15518k
    Maximum of released memory in single GGC run: 1355k -> 1366k
    Garbage: 47221k -> 47216k
    Leak: 5740k -> 5624k
    Overhead: 6015k -> 6045k
    GGC runs: 392 -> 404
    Pre-IPA-Garbage: 13456k -> 13457k
    Pre-IPA-Leak: 16881k -> 16877k
    Pre-IPA-Overhead: 2538k -> 2530k
    Post-IPA-Garbage: 13456k -> 13457k
    Post-IPA-Leak: 16881k -> 16877k
    Post-IPA-Overhead: 2538k -> 2530k

comparing combine.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 31115k to 31880k, overall 2.46%
  Peak amount of GGC memory still allocated after garbage collecting increased from 15594k to 15621k, overall 0.17%
  Amount of produced GGC garbage increased from 59591k to 61217k, overall 2.73%
  Amount of memory still referenced at the end of compilation increased from 5776k to 5800k, overall 0.41%
    Overall memory needed: 31115k -> 31880k
    Peak memory use before GGC: 15770k -> 15780k
    Peak memory use after GGC: 15594k -> 15621k
    Maximum of released memory in single GGC run: 1329k -> 1326k
    Garbage: 59591k -> 61217k
    Leak: 5776k -> 5800k
    Overhead: 7679k -> 7951k
    GGC runs: 460 -> 473
    Pre-IPA-Garbage: 13627k -> 13632k
    Pre-IPA-Leak: 16951k -> 16953k
    Pre-IPA-Overhead: 2558k -> 2551k
    Post-IPA-Garbage: 13627k -> 13632k
    Post-IPA-Leak: 16951k -> 16953k
    Post-IPA-Overhead: 2558k -> 2551k

comparing combine.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 15794k to 15924k, overall 0.82%
  Peak amount of GGC memory still allocated after garbage collecting increased from 15637k to 15720k, overall 0.53%
  Amount of produced GGC garbage increased from 74240k to 76604k, overall 3.18%
    Overall memory needed: 36191k -> 36832k
    Peak memory use before GGC: 15794k -> 15924k
    Peak memory use after GGC: 15637k -> 15720k
    Maximum of released memory in single GGC run: 1860k -> 1820k
    Garbage: 74240k -> 76604k
    Leak: 5791k -> 5674k
    Overhead: 9388k -> 9633k
    GGC runs: 498 -> 508
    Pre-IPA-Garbage: 13627k -> 13633k
    Pre-IPA-Leak: 16962k -> 16964k
    Pre-IPA-Overhead: 2559k -> 2552k
    Post-IPA-Garbage: 13627k -> 13633k
    Post-IPA-Leak: 16962k -> 16964k
    Post-IPA-Overhead: 2559k -> 2552k

comparing insn-attrtab.c compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 140167k to 158232k, overall 12.89%
  Peak amount of GGC memory allocated before garbage collecting increased from 64730k to 65873k, overall 1.77%
  Amount of produced GGC garbage increased from 131074k to 134336k, overall 2.49%
    Overall memory needed: 140167k -> 158232k
    Peak memory use before GGC: 64730k -> 65873k
    Peak memory use after GGC: 54607k -> 53242k
    Maximum of released memory in single GGC run: 27749k -> 28569k
    Garbage: 131074k -> 134336k
    Leak: 7601k -> 7489k
    Overhead: 15792k -> 16158k
    GGC runs: 260 -> 265
  Amount of produced pre-ipa-GGC garbage increased from 39184k to 39229k, overall 0.11%
  Amount of memory referenced pre-ipa increased from 55268k to 55908k, overall 1.16%
    Pre-IPA-Garbage: 39184k -> 39229k
    Pre-IPA-Leak: 55268k -> 55908k
    Pre-IPA-Overhead: 8585k -> 8653k
  Amount of produced post-ipa-GGC garbage increased from 39184k to 39229k, overall 0.11%
  Amount of memory referenced post-ipa increased from 55268k to 55908k, overall 1.16%
    Post-IPA-Garbage: 39184k -> 39229k
    Post-IPA-Leak: 55268k -> 55908k
    Post-IPA-Overhead: 8585k -> 8653k

comparing insn-attrtab.c compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 143075k to 159532k, overall 11.50%
  Peak amount of GGC memory allocated before garbage collecting increased from 66005k to 67147k, overall 1.73%
  Amount of produced GGC garbage increased from 131590k to 134815k, overall 2.45%
    Overall memory needed: 143075k -> 159532k
    Peak memory use before GGC: 66005k -> 67147k
    Peak memory use after GGC: 55880k -> 54514k
    Maximum of released memory in single GGC run: 27750k -> 28569k
    Garbage: 131590k -> 134815k
    Leak: 9252k -> 9140k
    Overhead: 16249k -> 16613k
    GGC runs: 253 -> 258
  Amount of produced pre-ipa-GGC garbage increased from 39241k to 39285k, overall 0.11%
  Amount of memory referenced pre-ipa increased from 56810k to 57449k, overall 1.13%
    Pre-IPA-Garbage: 39241k -> 39285k
    Pre-IPA-Leak: 56810k -> 57449k
    Pre-IPA-Overhead: 8921k -> 8989k
  Amount of produced post-ipa-GGC garbage increased from 39241k to 39285k, overall 0.11%
  Amount of memory referenced post-ipa increased from 56810k to 57449k, overall 1.13%
    Post-IPA-Garbage: 39241k -> 39285k
    Post-IPA-Leak: 56810k -> 57449k
    Post-IPA-Overhead: 8921k -> 8989k

comparing insn-attrtab.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 128159k to 134892k, overall 5.25%
  Peak amount of GGC memory allocated before garbage collecting increased from 49645k to 50247k, overall 1.21%
  Peak amount of GGC memory still allocated after garbage collecting increased from 42480k to 43080k, overall 1.41%
    Overall memory needed: 128159k -> 134892k
    Peak memory use before GGC: 49645k -> 50247k
    Peak memory use after GGC: 42480k -> 43080k
    Maximum of released memory in single GGC run: 22930k -> 23393k
    Garbage: 185556k -> 184506k
    Leak: 6983k -> 6871k
    Overhead: 25308k -> 25327k
    GGC runs: 299 -> 305
  Amount of memory referenced pre-ipa increased from 42797k to 43436k, overall 1.49%
    Pre-IPA-Garbage: 45165k -> 45206k
    Pre-IPA-Leak: 42797k -> 43436k
    Pre-IPA-Overhead: 7984k -> 8052k
  Amount of memory referenced post-ipa increased from 42797k to 43436k, overall 1.49%
    Post-IPA-Garbage: 45165k -> 45206k
    Post-IPA-Leak: 42797k -> 43436k
    Post-IPA-Overhead: 7984k -> 8052k

comparing insn-attrtab.c compilation at -O2 level:
  Ovarall memory allocated via mmap and sbrk decreased from 170751k to 150264k, overall -13.63%
  Peak amount of GGC memory allocated before garbage collecting increased from 49693k to 50279k, overall 1.18%
  Peak amount of GGC memory still allocated after garbage collecting increased from 43507k to 43994k, overall 1.12%
    Overall memory needed: 170751k -> 150264k
    Peak memory use before GGC: 49693k -> 50279k
    Peak memory use after GGC: 43507k -> 43994k
    Maximum of released memory in single GGC run: 21651k -> 22010k
    Garbage: 218681k -> 216414k
    Leak: 6992k -> 6879k
    Overhead: 30687k -> 30822k
    GGC runs: 333 -> 340
  Amount of memory referenced pre-ipa increased from 42802k to 43442k, overall 1.49%
    Pre-IPA-Garbage: 45243k -> 45283k
    Pre-IPA-Leak: 42802k -> 43442k
    Pre-IPA-Overhead: 7993k -> 8061k
  Amount of memory referenced post-ipa increased from 42802k to 43442k, overall 1.49%
    Post-IPA-Garbage: 45243k -> 45283k
    Post-IPA-Leak: 42802k -> 43442k
    Post-IPA-Overhead: 7993k -> 8061k

comparing insn-attrtab.c compilation at -O3 level:
  Ovarall memory allocated via mmap and sbrk decreased from 179091k to 163980k, overall -9.22%
  Peak amount of GGC memory still allocated after garbage collecting increased from 58153k to 58454k, overall 0.52%
    Overall memory needed: 179091k -> 163980k
    Peak memory use before GGC: 61709k -> 61578k
    Peak memory use after GGC: 58153k -> 58454k
    Maximum of released memory in single GGC run: 23742k -> 24307k
    Garbage: 250117k -> 246737k
    Leak: 7000k -> 6886k
    Overhead: 34258k -> 34267k
    GGC runs: 338 -> 343
  Amount of memory referenced pre-ipa increased from 42802k to 43442k, overall 1.49%
    Pre-IPA-Garbage: 45243k -> 45283k
    Pre-IPA-Leak: 42802k -> 43442k
    Pre-IPA-Overhead: 7993k -> 8061k
  Amount of memory referenced post-ipa increased from 42802k to 43442k, overall 1.49%
    Post-IPA-Garbage: 45243k -> 45283k
    Post-IPA-Leak: 42802k -> 43442k
    Post-IPA-Overhead: 7993k -> 8061k

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 81234k to 82283k, overall 1.29%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80428k to 81468k, overall 1.29%
  Amount of produced GGC garbage increased from 211214k to 212659k, overall 0.68%
  Amount of memory still referenced at the end of compilation increased from 49337k to 49808k, overall 0.95%
    Overall memory needed: 147891k -> 150422k
    Peak memory use before GGC: 81234k -> 82283k
    Peak memory use after GGC: 80428k -> 81468k
    Maximum of released memory in single GGC run: 15883k -> 16450k
    Garbage: 211214k -> 212659k
    Leak: 49337k -> 49808k
    Overhead: 27074k -> 27261k
    GGC runs: 420 -> 424
  Amount of produced pre-ipa-GGC garbage increased from 112585k to 114097k, overall 1.34%
  Amount of memory referenced pre-ipa increased from 86451k to 87309k, overall 0.99%
    Pre-IPA-Garbage: 112585k -> 114097k
    Pre-IPA-Leak: 86451k -> 87309k
    Pre-IPA-Overhead: 14761k -> 14978k
  Amount of produced post-ipa-GGC garbage increased from 112585k to 114097k, overall 1.34%
  Amount of memory referenced post-ipa increased from 86451k to 87309k, overall 0.99%
    Post-IPA-Garbage: 112585k -> 114097k
    Post-IPA-Leak: 86451k -> 87309k
    Post-IPA-Overhead: 14761k -> 14978k

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 94894k to 95772k, overall 0.93%
  Peak amount of GGC memory still allocated after garbage collecting increased from 93955k to 94820k, overall 0.92%
  Amount of produced GGC garbage increased from 216832k to 218309k, overall 0.68%
  Amount of memory still referenced at the end of compilation increased from 75899k to 76370k, overall 0.62%
    Overall memory needed: 165367k -> 167982k
    Peak memory use before GGC: 94894k -> 95772k
    Peak memory use after GGC: 93955k -> 94820k
    Maximum of released memory in single GGC run: 16224k -> 16877k
    Garbage: 216832k -> 218309k
    Leak: 75899k -> 76370k
    Overhead: 33731k -> 33925k
    GGC runs: 392 -> 394
  Amount of produced pre-ipa-GGC garbage increased from 113207k to 114719k, overall 1.34%
  Amount of memory referenced pre-ipa increased from 102970k to 103824k, overall 0.83%
    Pre-IPA-Garbage: 113207k -> 114719k
    Pre-IPA-Leak: 102970k -> 103824k
    Pre-IPA-Overhead: 18265k -> 18481k
  Amount of produced post-ipa-GGC garbage increased from 113207k to 114719k, overall 1.34%
  Amount of memory referenced post-ipa increased from 102970k to 103824k, overall 0.83%
    Post-IPA-Garbage: 113207k -> 114719k
    Post-IPA-Leak: 102970k -> 103824k
    Post-IPA-Overhead: 18265k -> 18481k

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 108273k to 112082k, overall 3.52%
  Peak amount of GGC memory allocated before garbage collecting increased from 80810k to 82325k, overall 1.87%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80003k to 81502k, overall 1.87%
  Amount of produced GGC garbage increased from 291136k to 291497k, overall 0.12%
  Amount of memory still referenced at the end of compilation increased from 46444k to 46593k, overall 0.32%
    Overall memory needed: 108273k -> 112082k
    Peak memory use before GGC: 80810k -> 82325k
    Peak memory use after GGC: 80003k -> 81502k
    Maximum of released memory in single GGC run: 15998k -> 16685k
    Garbage: 291136k -> 291497k
    Leak: 46444k -> 46593k
    Overhead: 32201k -> 32300k
    GGC runs: 510 -> 515
  Amount of produced pre-ipa-GGC garbage increased from 160850k to 167344k, overall 4.04%
  Amount of memory referenced pre-ipa increased from 83941k to 86076k, overall 2.54%
    Pre-IPA-Garbage: 160850k -> 167344k
    Pre-IPA-Leak: 83941k -> 86076k
    Pre-IPA-Overhead: 19695k -> 20471k
  Amount of produced post-ipa-GGC garbage increased from 160850k to 167344k, overall 4.04%
  Amount of memory referenced post-ipa increased from 83941k to 86076k, overall 2.54%
    Post-IPA-Garbage: 160850k -> 167344k
    Post-IPA-Leak: 83941k -> 86076k
    Post-IPA-Overhead: 19695k -> 20471k

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 110293k to 115374k, overall 4.61%
  Peak amount of GGC memory allocated before garbage collecting increased from 80908k to 83778k, overall 3.55%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80103k to 82799k, overall 3.37%
  Amount of produced GGC garbage increased from 338356k to 345533k, overall 2.12%
    Overall memory needed: 110293k -> 115374k
    Peak memory use before GGC: 80908k -> 83778k
    Peak memory use after GGC: 80103k -> 82799k
    Maximum of released memory in single GGC run: 16001k -> 16656k
    Garbage: 338356k -> 345533k
    Leak: 46609k -> 46539k
    Overhead: 37447k -> 38274k
    GGC runs: 569 -> 580
  Amount of produced pre-ipa-GGC garbage increased from 162586k to 171551k, overall 5.51%
  Amount of memory referenced pre-ipa increased from 83990k to 86381k, overall 2.85%
    Pre-IPA-Garbage: 162586k -> 171551k
    Pre-IPA-Leak: 83990k -> 86381k
    Pre-IPA-Overhead: 19913k -> 20956k
  Amount of produced post-ipa-GGC garbage increased from 162586k to 171551k, overall 5.51%
  Amount of memory referenced post-ipa increased from 83990k to 86381k, overall 2.85%
    Post-IPA-Garbage: 162586k -> 171551k
    Post-IPA-Leak: 83990k -> 86381k
    Post-IPA-Overhead: 19913k -> 20956k

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 116865k to 122734k, overall 5.02%
  Peak amount of GGC memory allocated before garbage collecting increased from 80908k to 84478k, overall 4.41%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80103k to 83419k, overall 4.14%
  Amount of produced GGC garbage increased from 370356k to 376951k, overall 1.78%
  Amount of memory still referenced at the end of compilation increased from 46455k to 46523k, overall 0.15%
    Overall memory needed: 116865k -> 122734k
    Peak memory use before GGC: 80908k -> 84478k
    Peak memory use after GGC: 80103k -> 83419k
    Maximum of released memory in single GGC run: 16001k -> 16656k
    Garbage: 370356k -> 376951k
    Leak: 46455k -> 46523k
    Overhead: 40663k -> 41481k
    GGC runs: 596 -> 615
  Amount of produced pre-ipa-GGC garbage increased from 162586k to 171637k, overall 5.57%
  Amount of memory referenced pre-ipa increased from 84004k to 87063k, overall 3.64%
    Pre-IPA-Garbage: 162586k -> 171637k
    Pre-IPA-Leak: 84004k -> 87063k
    Pre-IPA-Overhead: 19914k -> 21011k
  Amount of produced post-ipa-GGC garbage increased from 162586k to 171637k, overall 5.57%
  Amount of memory referenced post-ipa increased from 84004k to 87063k, overall 3.64%
    Post-IPA-Garbage: 162586k -> 171637k
    Post-IPA-Leak: 84004k -> 87063k
    Post-IPA-Overhead: 19914k -> 21011k

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 100315k to 78451k, overall -27.87%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 55968k to 49385k, overall -13.33%
  Amount of produced GGC garbage decreased from 181152k to 147530k, overall -22.79%
    Overall memory needed: 375460k -> 368861k
    Peak memory use before GGC: 100315k -> 78451k
    Peak memory use after GGC: 55968k -> 49385k
    Maximum of released memory in single GGC run: 50582k -> 38763k
    Garbage: 181152k -> 147530k
    Leak: 6622k -> 6511k
    Overhead: 31238k -> 24890k
    GGC runs: 90 -> 87
  Amount of memory referenced pre-ipa increased from 19499k to 20190k, overall 3.54%
    Pre-IPA-Garbage: 13660k -> 13630k
    Pre-IPA-Leak: 19499k -> 20190k
    Pre-IPA-Overhead: 2175k -> 2242k
  Amount of memory referenced post-ipa increased from 19499k to 20190k, overall 3.54%
    Post-IPA-Garbage: 13660k -> 13630k
    Post-IPA-Leak: 19499k -> 20190k
    Post-IPA-Overhead: 2175k -> 2242k

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 101014k to 79148k, overall -27.63%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 56667k to 50082k, overall -13.15%
  Amount of produced GGC garbage decreased from 181269k to 147632k, overall -22.78%
    Overall memory needed: 376280k -> 369637k
    Peak memory use before GGC: 101014k -> 79148k
    Peak memory use after GGC: 56667k -> 50082k
    Maximum of released memory in single GGC run: 50583k -> 38748k
    Garbage: 181269k -> 147632k
    Leak: 8666k -> 8553k
    Overhead: 31823k -> 25474k
    GGC runs: 97 -> 93
  Amount of memory referenced pre-ipa increased from 19748k to 20439k, overall 3.50%
    Pre-IPA-Garbage: 13668k -> 13638k
    Pre-IPA-Leak: 19748k -> 20439k
    Pre-IPA-Overhead: 2230k -> 2296k
  Amount of memory referenced post-ipa increased from 19748k to 20439k, overall 3.50%
    Post-IPA-Garbage: 13668k -> 13638k
    Post-IPA-Leak: 19748k -> 20439k
    Post-IPA-Overhead: 2230k -> 2296k

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
  Ovarall memory allocated via mmap and sbrk decreased from 363863k to 227772k, overall -59.75%
  Peak amount of GGC memory still allocated after garbage collecting increased from 63619k to 63951k, overall 0.52%
  Amount of produced GGC garbage decreased from 242138k to 227182k, overall -6.58%
    Overall memory needed: 363863k -> 227772k
    Peak memory use before GGC: 71726k -> 71433k
    Peak memory use after GGC: 63619k -> 63951k
    Maximum of released memory in single GGC run: 34866k -> 35392k
    Garbage: 242138k -> 227182k
    Leak: 7266k -> 7088k
    Overhead: 33901k -> 30868k
    GGC runs: 96 -> 98
  Amount of produced pre-ipa-GGC garbage increased from 51866k to 52164k, overall 0.58%
  Amount of memory referenced pre-ipa increased from 61789k to 62151k, overall 0.59%
    Pre-IPA-Garbage: 51866k -> 52164k
    Pre-IPA-Leak: 61789k -> 62151k
    Pre-IPA-Overhead: 8972k -> 9038k
  Amount of produced post-ipa-GGC garbage increased from 51866k to 52164k, overall 0.58%
  Amount of memory referenced post-ipa increased from 61789k to 62151k, overall 0.59%
    Post-IPA-Garbage: 51866k -> 52164k
    Post-IPA-Leak: 61789k -> 62151k
    Post-IPA-Overhead: 8972k -> 9038k

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 316167k to 375840k, overall 18.87%
  Peak amount of GGC memory still allocated after garbage collecting increased from 63620k to 63952k, overall 0.52%
  Amount of produced GGC garbage increased from 245858k to 255525k, overall 3.93%
  Amount of memory still referenced at the end of compilation decreased from 7429k to 6910k, overall -7.51%
    Overall memory needed: 316167k -> 375840k
    Peak memory use before GGC: 71496k -> 71433k
    Peak memory use after GGC: 63620k -> 63952k
    Maximum of released memory in single GGC run: 36143k -> 36706k
    Garbage: 245858k -> 255525k
    Leak: 7429k -> 6910k
    Overhead: 35288k -> 36963k
    GGC runs: 102 -> 109
  Amount of produced pre-ipa-GGC garbage increased from 111746k to 112377k, overall 0.56%
  Amount of memory referenced pre-ipa increased from 72529k to 73071k, overall 0.75%
    Pre-IPA-Garbage: 111746k -> 112377k
    Pre-IPA-Leak: 72529k -> 73071k
    Pre-IPA-Overhead: 15598k -> 15517k
  Amount of produced post-ipa-GGC garbage increased from 111746k to 112377k, overall 0.56%
  Amount of memory referenced post-ipa increased from 72529k to 73071k, overall 0.75%
    Post-IPA-Garbage: 111746k -> 112377k
    Post-IPA-Leak: 72529k -> 73071k
    Post-IPA-Overhead: 15598k -> 15517k

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
  Ovarall memory allocated via mmap and sbrk decreased from 1118559k to 1025124k, overall -9.11%
  Peak amount of GGC memory allocated before garbage collecting increased from 137913k to 138535k, overall 0.45%
  Peak amount of GGC memory still allocated after garbage collecting increased from 125190k to 125812k, overall 0.50%
  Amount of memory still referenced at the end of compilation decreased from 9929k to 9422k, overall -5.38%
    Overall memory needed: 1118559k -> 1025124k
    Peak memory use before GGC: 137913k -> 138535k
    Peak memory use after GGC: 125190k -> 125812k
    Maximum of released memory in single GGC run: 61836k -> 62503k
    Garbage: 366793k -> 366892k
    Leak: 9929k -> 9422k
    Overhead: 45001k -> 45306k
    GGC runs: 97 -> 106
  Amount of produced pre-ipa-GGC garbage increased from 111746k to 112377k, overall 0.56%
  Amount of memory referenced pre-ipa increased from 72529k to 73071k, overall 0.75%
    Pre-IPA-Garbage: 111746k -> 112377k
    Pre-IPA-Leak: 72529k -> 73071k
    Pre-IPA-Overhead: 15598k -> 15517k
  Amount of produced post-ipa-GGC garbage increased from 111746k to 112377k, overall 0.56%
  Amount of memory referenced post-ipa increased from 72529k to 73071k, overall 0.75%
    Post-IPA-Garbage: 111746k -> 112377k
    Post-IPA-Leak: 72529k -> 73071k
    Post-IPA-Overhead: 15598k -> 15517k

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2008-08-01 17:44:36.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2008-09-09 02:54:09.000000000 +0000
@@ -1,45 +1,6228 @@
+2008-08-09  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+	PR target/36609
+	* config/avr/avr.c (avr_reorg): Create RTL for reversed compare with
+	zero.
+	* config/avr/avr.md  (QISI) : Define mode iterator.
+	(negated_tst<mode>) : Redefine as split using mode macro.
+	(reversed_tstqi): Define insn as reversed compare with zero.
+	(reversed_tsthi): Ditto.
+	(reversed_tstsi): Ditto.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/37393
+	* tree-inline.c (copy_bb): When replacing a gimple_call_va_arg_pack_p
+	call stmt by new_call, clear gimple_bb on stmt after gsi_replace.
+
+	PR middle-end/37414
+	* predict.c (optimize_function_for_size_p): Don't segfault if
+	FUN is NULL.
+	* fold-const.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop,
+	tree_swap_operands_p): Don't test cfun != NULL before calling
+	optimize_function_for_s*_p.
+
+2008-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* ira-color.c (ira_reuse_stack_slot): Set slot_num on success at the
+	end of the search.
+
+2008-09-08  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+	* crx/crx.h (IRA_COVER_CLASSES): Define.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/37337
+	* tree-ssa-dom.c (optimize_stmt): Call maybe_clean_or_replace_eh_stmt
+	even when a stmt has been gimple_modified_p, but after fold_stmt is
+	not any longer.  Remove unneeded may_have_exposed_new_symbols
+	initializations.
+
+2008-09-08  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/37421
+	* tree-ssa-sccvn.c (visit_copy): Make sure to fully
+	valueize the RHS.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/37415
+	* opts.c (common_handle_option): Handle OPT_ftree_store_ccp.
+
+2008-09-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR driver/37409
+	* pa-hpux.h (LINK_SPEC): Strip -fwhole-program.
+	* pa-hpux10.h (LINK_SPEC): Likewise.
+	* pa-hpux11.h (LINK_SPEC): Likewise.
+
+2008-09-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa32-regs.h (IRA_COVER_CLASSES): Define.
+	* pa64-regs.h (IRA_COVER_CLASSES): Define.
+
+2008-09-07  Helge Deller  <deller@gmx.de>
+
+        * pa/linux-atomic.c: New file.
+	* pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define.
+	* pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define.
+
+2008-09-07  Richard Guenther  <rguenther@suse.de>
+            Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/36630
+	* tree-vect-transform.c (vect_update_ivs_after_vectorizer):
+	Call STRIP_NOPS before calling evolution_part_in_loop_num.
+
+2008-09-07  Dorit Nuzman  <dorit@il.ibm.com>
+            Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/35642
+	* config/rs6000/altivec.md (mulv8hi3): Implement.
+
+2008-09-06  Jeff Law <law@redhat.com>
+
+	* h8300/h8300.h (IRA_COVER_CLASSES): Define.
+
+2008-09-06  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/14703
+	* tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations.
+	* passes.c (init_optimization_passes): Recompute inline parameters.
+
+2008-09-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* config/mips/mips.c (mips_function_ok_for_sibcall): Check for
+	DECL being null.
+
+2008-09-06  Richard Sandiford  <rdsandiford@goolemail.com>
+	    Peter Fuerst  <post@pfrst.de>
+
+	* doc/invoke.texi: Document -mr10k-cache-barrier=.
+	* doc/extend.texi: Document __builtin_mips_cache.
+	* config/mips/mips-ftypes.def: Add a (VOID, SI, CVPOINTER) entry.
+	* config/mips/mips.opt (mr10k-cache-barrier=): New option.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+	__GCC_HAVE_BUILTIN_MIPS_CACHE.
+	(TARGET_CACHE_BUILTIN, ISA_HAS_CACHE): New macros.
+	* config/mips/mips.c (mips_r10k_cache_barrier_setting): New enum.
+	(set_push_mips_isas): New variable.
+	(mips_r10k_cache_barrier): New variable.
+	(cache): New availability predicate.
+	(mips_builtins): Add an entry for __builtin_mips_cache.
+	(mips_build_cvpointer_type): New function.
+	(MIPS_ATYPE_CVPOINTER): New macro.
+	(mips_prepare_builtin_arg): Only use the insn's mode if the rtx's
+	mode is VOIDmode.
+	(r10k_simplified_address_p, r10k_simplify_address)
+	(r10k_uncached_address_p, r10k_safe_address_p)
+	(r10k_needs_protection_p_1, r10k_needs_protection_p_store)
+	(r10k_needs_protection_p_call, r10k_needs_protection_p)
+	(r10k_insert_cache_barriers): New functions.
+	(mips_reorg_process_insns): Delete cache barriers after a
+	branch-likely instruction.
+	(mips_reorg): Call r10k_insert_cache_barriers.
+	(mips_handle_option): Handle OPT_mr10k_cache_barrier_.
+	* config/mips/mips.md (UNSPEC_MIPS_CACHE): New constant.
+	(UNSPEC_R10K_CACHE_BARRIER): Likewise.
+	(mips_cache, r10k_cache_barrier): New define_insns.
+
+2008-09-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* ira-int.h (ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
+	* ira-color.c (setup_allocno_left_conflicts_num): Use
+	hard_reg_set_equal_p instead of a comparison with
+	ira_zero_hard_reg_set.
+	* ira.c (setup_reg_subclasses): Likewise.
+	(setup_cover_and_important_classes): Likewise.
+	(setup_class_translate): Likewise.
+	(setup_reg_class_intersect_union): Likewise.
+	(ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
+	(ira_init_once): Don't initialize them.
+
+2008-09-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+	* doc/tm.texi (IRA_COVER_CLASSES): Fix a typo.
+
+2008-09-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+	* ira-color.c (ira_fast_allocation): Permit global allocno
+	allocation.
+	
+2008-09-05  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
+
+	Improved branch hints, safe hints, and scheduling.
+
+	* haifa-sched.c (sched_emit_insn) : Define.
+	* sched-int.h (sched_emit_insn) : Add prototype.
+	* doc/invoke.texi (-mdual-nops, -mhint-max-nops,
+	-mhint-max-distance -msafe-hints) : Document.
+	* config/spu/spu.c (spu_flag_var_tracking): New.
+	(TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_INIT,
+	TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2,
+	TARGET_ASM_FILE_START): Define.
+	(TARGET_SCHED_ADJUST_PRIORITY): Remove.
+	(STOP_HINT_P, HINTED_P, SCHED_ON_EVEN_P): Define.
+	(spu_emit_branch_hint): Add blocks argument.
+	(insert_branch_hints, insert_nops): Remove.
+	(pad_bb, insert_hbrp_for_ilb_runout, insert_hbrp, in_spu_reorg,
+	uses_ls_unit, spu_sched_init_global, spu_sched_init,
+	spu_sched_reorder, asm_file_start): New functions.
+	(clock_var, spu_sched_length, pipe0_clock,
+	pipe1_clock, prev_clock_var, prev_priority,
+	spu_ls_first, prev_ls_clock): New static variables.
+	* config/spu/spu.h (TARGET_DEFAULT): Add MASK_SAFE_HINTS.
+	* config/spu.md (iprefetch): Add operand, make it clobber MEM.
+	(nopn_nv): Add a non-volatile version of nop.
+	* config/spu/spu.opt (-mdual-nops, -mhint-max-nops,
+	-mhint-max-distance, -msafe-hints): New options.
+
+2008-09-05  Janis Johnson  <janis187@us.ibm.com>
+	    Samuel Tardieu  <sam@rfc1149.net>
+
+	* opts.c (decode_options): Combine nested if statements.
+
+	PR target/37283
+	* opts.c (decode_options): Handle more relationships among
+	unit-at-a-time, toplevel-reorder, and section-anchors.
+
+2008-09-05  David Daney  <ddaney@avtrex.com>
+
+	* doc/install.texi (--enable-reduced-reflection): Document new option.
+
+2008-09-05  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/predicates.md (nonimmed_operand, mem_operand): Use
+	constantpool_mem_p.
+	(constantpool_operand): New.
+	(move_operand): Disallow sub-word modes for the constant pool.
+	* config/xtensa/xtensa.c (TARGET_SECONDARY_RELOAD): Define.
+	(xtensa_secondary_reload_class): Replace with....
+	(xtensa_secondary_reload): this function.  Remove SIGN_EXTEND check. 
+	Set icode for sub-word reloads from the constant pool.
+	* config/xtensa/xtensa.h (SECONDARY_INPUT_RELOAD_CLASS): Delete.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
+	* config/xtensa/xtensa.md (reload<mode>_literal): New.
+	* config/xtensa/xtensa-protos.h: Update prototypes.
+	
+2008-09-05  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/mips.h (enum reg_class): Add FRAME_REGS.
+	(REG_CLASS_NAMES): Update.
+	(REG_CLASS_CONTENTS): Update.
+	* config/mips/mips.c (mips_regno_to_class): Use FRAME_REGS instead
+	of ALL_REGS for regs 77 and 78.
+	* function.c (instantiate_virtual_regs_in_insn): Assert that
+	return value of simplify_gen_subreg is not NULL.
+
+2008-09-05  Paolo Bonzini  <bonzini@gnu.org>
+
+	* emit-rtl.c (gen_rtvec): Rewrite not using gen_rtvec_v.
+	(gen_rtvec_v): Fix coding standards.
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* i386.c (decide_alg): Be more conservative about optimizing for size.
+
+2008-09-04  Ian Lance Taylor  <iant@google.com>
+
+	* varasm.c (narrowing_initializer_constant_valid_p): New
+	static function.
+	(initializer_constant_valid_p): Call it.
+
+2008-09-04  Jeff Law  <law@redhat.com>
+
+	* fold-const.c (native_encode_real): Fix computation of WORDS.
+	(native_interpret_real): Likewise.
+
+2008-09-04  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/rs6000/t-rs6000: Remove target gt-rs6000.h.
+
+2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+	* ira-conflicts.c (process_regs_for_copy): Check insn to check
+	that the cost is already taken into account in ira-costs.c
+
+	* ira-int.h (ira_debug_copy, ira_debug_copies): New.
+
+	* ira-build.c (print_copy, print_copies, ira_debug_copy,
+	ira_debug_copies): New.
+	(ira_bulid): Call print_copies.
+	
+	* doc/tm.texi (IRA_COVER_CLASSES): Fix the description.
+	
+2008-09-04  Samuel Tardieu  <sam@rfc1149.net>
+
+	PR target/32783
+	* config/rs6000/rs6000.c (optimization_options): Remove check of
+	flag_toplevel_order.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* config/mips/mips.h (ISA_HAS_SEQ_SNE): New macro.
+	* config/mips/mips.c (mips_expand_scc): Also expand seq and sne if
+	second operand is a reg_imm10_operand.
+	* config/mips/mips.md (*seq_<GPR:mode><GPR2:mode>_seq,
+	*sne_<GPR:mode><GPR2:mode>_sne): New patterns.
+	(*seq_<GPR:mode><GPR2:mode>): Rename to
+	*seq_zero_<GPR:mode><GPR2:mode>.  Don't match if
+	ISA_HAS_SEQ_SNE.
+	(*seq_<GPR:mode><GPR2:mode>_mips16): Rename to
+	*seq_zero_<GPR:mode><GPR2:mode>_mip16.  Don't match if
+	ISA_HAS_SEQ_SNE.
+	(*sne_<GPR:mode><GPR2:mode>): Rename to
+	*sne_zero_<GPR:mode><GPR2:mode>.  Don't match if
+	ISA_HAS_SEQ_SNE.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* config/mips/mips.h (ISA_HAS_EXTS): New macro.
+	* config/mips/mips.md (*ashr_trunc<mode>): Name the pattern
+	combining an arithmetic right shift by more than 31 and a
+	trunction.  Don't match for out-of-range shift amounts.  Set
+	attribute mode to <MODE>.
+	(*lshr32_trunc<mode>): Name the pattern combining a logical right
+	shift by 32 and and a truncation.  Set attribute mode to <MODE>.
+	(*<optab>_trunc<mode>_exts): New pattern for truncated right
+	shifts by less than 32.
+	(extv): Change predicate on first operand to accept registers.
+	Change predicate of the other operands from immediate_operand to
+	const_int_operand.  Expand exts when source is a register.
+	(extzv): Change predicate of the constant operands from
+	immediate_operand to const_int_operand.
+	(extzv<mode>): Change predicate of the constant operands from
+	immediate_operand to const_int_operand and no constraint. Also
+	remove mode.
+	(*extzv_trunc<mode>_exts): New pattern.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* config/mips/mips.h (ISA_HAS_CINS): New macro.
+	* config/mips/mips-protos.h (mask_low_and_shift_p,
+	mask_low_and_shift_len): Declare.
+	* config/mips/mips.c (mask_low_and_shift_p,
+	mask_low_and_shift_len): New functions.
+	(mips_print_operand): Handle new operand prefix "m".
+	* config/mips/mips.md (*cins<mode>): New pattern.
+
+2008-09-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (gen_one_bundle): Don't create new nops when
+	optimizing for size.
+
+2008-09-04  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM
+	regardless of epilogue_completed.
+
+2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/37359
+	* ira-lives.c (process_bb_node_lives): Check setjmp.
+
+2008-09-04  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	PR middle-end/37243
+	* ira-build.c (form_loop_tree): Reverse BB walk.
+	(create_bb_allocnos): Likewise.
+	* ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
+	(mark_reg_store): Rename to...
+	(mark_ref_live): ...this and take a df_ref argument instead of
+	note_stores arguments.  Assert that we have a register.
+	(mark_reg_clobber): Delete.
+	(def_conflicts_with_inputs_p): New function.
+	(mark_reg_conflicts): Delete.
+	(mark_reg_death): Rename to...
+	(mark_ref_dead): ...this and take a df_ref argument instead of
+	a register.  Assert that we have a register.
+	(process_bb_node_lives): Hoist frequency calculation out of
+	instruction walk.  Convert from a forwards scan to a backwards scan.
+	Use DF_REF_USES and DF_REF_DEFS instead of register notes and
+	note_stores.  Remove EH_RETURN_DATA_REGNO and regs_set handling.
+	(create_allocno_live_ranges): Don't create regs_set.
+
+2008-09-04  Ian Lance Taylor  <iant@google.com>
+
+	* rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND
+	or REG_LABEL_TARGET.
+	* calls.c (emit_library_call_value_1): Use MEM_P rather than
+	comparing MODE with MEM.
+	* gimple.c (gimple_build_predict): Cast END_PREDICTORS before
+	comparing with GF_PREDICT_TAKEN.
+	(gimple_get_lhs): Change code to enum gimple_code.
+	(gimple_set_lhs): Likewise.
+	* ifcvt.c (noce_process_if_block): Correct GET_MODE to GET_CODE.
+	* omp-low.c (find_omp_clause): Change kind parameter to enum
+	omp_clause_code.
+	* tree-flow.h (find_omp_clause): Update declaration.
+	* regrename.c (clear_dead_regs): Change kind parameter to enum
+	reg_note.
+	* reload1.c (eliminate_regs_1): Use REG_NOTE_KIND rather than
+	GET_MODE.
+	* see.c (see_get_extension_data): Change return type to enum
+	entry_type.  Change UNKNOWN to NOT_RELEVANT, SIGN_EXTEND to
+	SIGNED_EXTENDED_DEF, ZERO_EXTEND to ZERO_EXTENDED_DEF.
+	(see_gen_normalized_extension): Change extension_code parameter to
+	enum entry_type.
+	(see_seek_pre_extension_expr): Change extension_code to enum
+	entry_type.
+	(see_merge_one_def_extension): Likewise.
+	(see_handle_relevant_defs): Likewise.
+	(see_handle_relevant_uses): Likewise.
+	(see_analyze_one_def): Likewise.
+	* tree-cfg.c (need_fake_edge_p): Compare gimple code with
+	GIMPLE_ASM rather than ASM_EXPR.
+	* tree-ssa-alias.c (is_escape_site): Compare gimple code with
+	GIMPLE_RETURN rather than RETURN_EXPR.
+	* tree-ssa-ccp.c (likely_value): Change code to enum gimple_code.
+	(evaluate_stmt): Likewise.
+	* tree-vect-analyze.c (vect_analyze_operations): Change relevance
+	to enum vect_relevant.
+	(vect_mark_stmts_to_be_vectorized): Change assertion to not
+	compare gimple codes with tree codes.
+
+2008-09-04  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_size_rtx_costs): Call cost function.
+
+2008-09-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
+	pointer check lost in the recent no-unit-at-a-time patch.
+	
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/37343
+	* tree-switch-conversion.c (check_final_bb): Accept only IP
+	invariants.
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
+	Break out from ...
+	(vrp_evaluate_conditional_warnv_with_ops): ... this one.  Add
+	using_ranges argument.
+	(vrp_evaluate_conditional): Avoid bogus warning for type range.
+	(vrp_visit_cond_stmt): Update call of
+	vrp_evaluate_conditional_warnv_with_ops
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/37345
+	PR tree-optimization/37358
+	PR tree-optimization/37357
+	* tree.c (build_function_type_skip_args): Build distinct type copy;
+	set TYPE_CONTEXT.
+	(build_function_decl_skip_args): Set type of new decl not orig decl;
+	clear DECL_VINDEX for methods turned into functions.
+
+2008-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler
+	check.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
+	alignment field, if it is supported.
+
+2008-09-04  Kai Tietz  <kai.tietz@onevision.com>
+
+	* config/i386/t-mingw32 (SHLIB_LC): Change order of import
+	libraries.
+
+2008-09-03  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (processor_target_table): Do not
+	enable VMX for POWER6.
+
+2008-09-03  Anton Blanchard  <anton@samba.org>
+
+	* config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not
+	emit memory barrier before operation.
+
+2008-09-03  John David Anglin  <dave.anglin@nrc.cnrc.gc.ca>
+
+	PR testsuite/37325
+	* config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL_REAL): Call
+	default_elf_asm_output_external.
+
+2008-09-03  Jeff Law  <law@redhat.com>
+
+	* h8300.c (expand_a_shift): Avoid invalid RTL sharing.
+
+2008-09-03  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.c (alpha_split_lock_test_and_set): Move
+	memory barrier to below the test-and-set.
+	(alpha_split_lock_test_and_set_12): Likewise.
+
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-opt/37243
+
+	* ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
+	all_allocnos.
+
+	* ira-color.c (print_loop_title): Use all_allocnos.
+	(color_pass): Ditto.  Don't add border_allocnos.  Check that
+	subloop allocno in the correspdoning bitmap all_allocnos.
+
+	* ira-emit.c (change_loop): Use all_allocnos.
+
+	* ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
+	Ditto.
+	(ira_create_allocno): Set up all_allocnos bit for the created
+	allocno.
+	(create_cap_allocno): Remove setting mentioned_allocnos.
+	(create_insn_allocnos): Ditto.
+	(remove_unnecessary_allocnos): Use all_allocnos.
+	(check_allocno_creation): Check that allocnos are in the
+	corresponding bitmap all_allocnos.
+	
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-opt/37243
+	
+	* ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
+	(process_regs_for_copy): Process subregs.  Refine check when cost
+	is taken into account in ira-costs.c.
+	(process_reg_shuffles): Use REG_SUBREG_P.
+	(add_insn_allocno_copies): Ditto.  Ignore modes.
+
+	* ira-color.c (conflict_allocno_vec): New.
+	(COST_HOP_DIVISOR): New macro.
+	(update_copy_costs_1): Use it.
+	(update_conflict_hard_regno_costs): New function.
+	(assign_hard_reg): Use it.
+	(ira_color): Allocate and free conflict_allocno_vec.
+ 
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-opt/37296
+
+	* ira-int.h (ira_sort_insn_chain): Remove.
+
+	* ira.c (basic_block_order_nums, chain_insn_order,
+	chain_freq_compare, chain_bb_compare, ira_sort_insn_chain): Remove.
+	(ira): Don't call ira_sort_insn_chain.
+
+	* reload1.c (reload): Don't call ira_sort_insn_chain.
+
+2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/37293
+	* cgraphunit.c (update_call_expr): Remove eh regions from statements
+	which become non throw.
+	(cgraph_function_versioning): Also clear DECL_WEAK.  Call
+	update_call_expr after updating the flags on the decl.
+
+2008-09-03  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/37315
+	* cgraph.c (cgraph_create_edge): Use gimple_has_body_p.
+	* cgraphunit.c (verify_cgraph_node): drop gimple_body check.
+	(cgraph_analyze_functions): Use node->analyzed
+	(cgraph_mark_functions_to_output): Likewise.
+	(cgraph_expand_function): All functions can be released after
+	expanding.
+	(cgraph_optimize): Use gimple_has_body_p.
+	* ipa-inline.c (cgraph_clone_inlined_nodes): Use analyzed flag.
+	(cgraph_decide_inlining_incrementally): Likewise.
+	(inline_transform): Inline transform.
+	* tree-inline.c (initialize_cfun): Do now shallow copy structure;
+	copy fields needed.
+	(inlinable_function_p): Drop gimple_body check.
+	(expand_call_inline): Use gimple_has_body_p.
+	* gimple.c (gimple_has_body_p): New.
+	* gimple.h (gimple_has_body_p): Add prototype.
+	* tree-cfg.c (execute_build_cfg): Remove gimple_body.
+	(dump_function_to_file): Use gimple_has_body_p check.
+
+2008-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/37346
+	* gimple.h (gimple_has_substatements): GIMPLE_OMP_CRITICAL has
+	substatements.
+	* tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_CRITICAL.
+
+2008-09-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	From Michael Frysinger  <michael.frysinger@analog.com>
+	* config/bfin/bfin.c (bfin_cpus[]): Add 0.1 for bf522, bf523, bf524,
+	bf525, bf526, bf527, bf542, bf544, bf547, bf548, and bf549.  Add 0.2
+	for bf538.
+
+2008-09-03  Hari Sandanagobalane  <hariharan@picochip.com>
+
+	Add picoChip port.
+	* doc/extend.texi: Document picoChip builtin functions.
+	* doc/invoke.texi: Document picoChip options.
+	* doc/contrib.texi: Add picoChip contribution.
+	* doc/md.texi: Document picoChip constraints.
+	* config.gcc: Add picochip-*-*.
+	* config/picochip/: Add new port.
+
+2008-09-03  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/37328
+	* tree-sra.c (sra_build_assignment): Gimplify properly.
+	(generate_copy_inout): Take the correct stmt as definition,
+	remove bogus assert.
+
+2008-09-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (bfin_expand_prologue): Honour no_stack_limit
+	attributes.
+
+	From Michael Frysinger  <michael.frysinger@analog.com>
+	* config/bfin/bfin.c (bfin_handle_option): Remove BF561 warning.
+
+2008-09-03 Danny Smith  <dannysmith@usrs.sourceforge.net>
+
+	* gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
+	defined.
+	(__gthread_setspecific): Revert 2008-08-31 change to
+	__GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API
+	case.
+
+2008-09-02  Aldy Hernandez  <aldyh@redhat.com>
+
+	* diagnostic.c (error_at): New.
+	* toplev.h (error_at): New prototype.
+	* c-typeck.c (build_array_ref): Call error_at instead of error.
+	Pass location to pedwarn.
+
+2008-09-02  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* sel-sched.c (sel_hard_regno_rename_ok): Mark arguments unused.
+
+2008-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (tree_add_const_value_attribute): Only handle
+	VAR_DECL and CONST_DECL.
+
+2008-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (X86_64_VARARGS_SIZE): Removed.
+	(setup_incoming_varargs_64): Assume cum != NULL. Set/check
+	ix86_varargs_gpr_size and ix86_varargs_fpr_size.  Use
+	ix86_varargs_gpr_size instead of X86_64_REGPARM_MAX.
+	Don't set ix86_save_varrargs_registers.
+	(ix86_setup_incoming_varargs): Assume cum != NULL.
+	(ix86_va_start): Check ix86_varargs_gpr_size and
+	ix86_varargs_fpr_size instead of cfun->va_list_gpr_size and
+	cfun->va_list_fpr_size, respectively.  Subtract 8*X86_64_REGPARM_MAX
+	from frame pointer if ix86_varargs_gpr_size == 0.
+	(ix86_compute_frame_layout): Updated.
+	* config/i386/i386.h (ix86_save_varrargs_registers): Removed.
+	(ix86_varargs_gpr_size): Define.
+	(ix86_varargs_fpr_size): Likewise.
+	(machine_function): Remove save_varrargs_registers.
+	Add varargs_gpr_size and varargs_fpr_size.
+
+2008-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/alpha/alpha.c (va_list_skip_additions,
+	alpha_stdarg_optimize_hook, alpha_gimplify_va_arg_1): Tuplify.
+	(alpha_gimplify_va_arg): Call unshare_expr on second use of
+	offset_field.
+
+	PR tree-optimization/36766
+	* tree-cfg.c (gimple_purge_all_dead_eh_edges): Do nothing
+	for already removed basic blocks.
+
+	PR target/36332
+	* real.c (real_maxval): Clear a lower bit to make real_maxval
+	match get_max_float for IBM long double format.
+
+2008-09-02  Andreas Schwab  <schwab@suse.de>
+
+	* configure.ac: Use m4_quote to quote the expansion of m4_do.
+	* configure: Regenerate.
+
+2008-09-02  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Check for CONST,
+	SYMBOL_REF and LABEL_REF when applying plus_constant, instead of
+	checking for a non-VOID CONSTANT_P.
+
+2008-09-02  Jan Hubicka  <jh@suse.cz>
+
+	* predict.c (pass_strip_predict_hints): Avoid bugs dump file.
+	* expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
+
+2008-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* expr.c (emit_group_store): Don't assert stack temp mode size.
+
+2008-09-02  Sebastian Pop  <sebastian.pop@amd.com>
+	    Tobias Grosser  <grosser@fim.uni-passau.de>
+	    Jan Sjodin  <jan.sjodin@amd.com>
+	    Harsha Jagasia  <harsha.jagasia@amd.com>
+	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+	    Konrad Trifunovic  <konrad.trifunovic@inria.fr>
+	    Adrien Eliche  <aeliche@isty.uvsq.fr>
+
+	Merge from graphite branch.
+	* graphite.c: New.
+	* graphite.h: New.
+	* tree-loop-linear.c (perfect_loop_nest_depth): Export.
+	* doc/invoke.texi (-floop-block, -floop-interchange,
+	-floop-strip-mine): Document new flags.
+	* tree-into-ssa.c (gimple_vec): Moved...
+	* tree-loop-distribution.c (rdg_component): Moved...
+	* cfgloopmanip.c: Include tree-flow.h.
+	(update_dominators_in_loop): New.
+	(create_empty_if_region_on_edge): New.
+	(create_empty_loop_on_edge): New.
+	(loopify): Use update_dominators_in_loop.
+	* tree-pass.h (pass_graphite_transforms): Declared.
+	* configure: Regenerate.
+	* tree-phinodes.c (make_phi_node): Export.
+	(add_phi_node_to_bb): New, split from create_phi_node.
+	* tree-chrec.c (for_each_scev_op): New.
+	* tree-chrec.h (for_each_scev_op): Declared.
+	* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
+	(remove_statement): Call get_phi_with_result.
+	* config.in (HAVE_cloog): Undef.
+	* gdbinit.in (pgg): New.
+	* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
+	* tree-ssa-loop.c (graphite_transforms): New.
+	(gate_graphite_transforms): New.
+	(pass_graphite_transforms): New.
+	* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
+	HAVE_cloog): Defined.
+	* tree-vectorizer.c (rename_variables_in_bb): Export.
+	* tree-data-ref.c (dr_may_alias_p): Export.
+	(stmt_simple_memref_p): New.
+	(find_data_references_in_stmt): Export.
+	(find_data_references_in_loop): Export.
+	(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
+	(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
+	(create_rdg_vertices): Export.
+	(build_empty_rdg): New.
+	(build_rdg): Call build_empty_rdg.  Free dependence_relations.
+	* tree-data-ref.h (rdg_component): ... here.
+	(scop_p): New.
+	(struct data_reference): Add a field scop.
+	(DR_SCOP): New.
+	(find_data_references_in_loop): Declared.
+	(find_data_references_in_stmt): Declared.
+	(create_rdg_vertices): Declared.
+	(dr_may_alias_p): Declared.
+	(stmt_simple_memref_p): Declared.
+	(struct rdg_edge): Add a field ddr_p relation.
+	(build_empty_rdg): Declared.
+	* lambda.h (lambda_matrix): Declare a VEC of.
+	(find_induction_var_from_exit_cond): Declared.
+	(lambda_vector_compare): New.
+	* common.opt (fgraphite, floop-strip-mine,
+	floop-interchange, floop-block): New flags.
+	* lambda-code.c (find_induction_var_from_exit_cond): Export.
+	* cfgloop.c (is_loop_exit): New.
+	* cfgloop.h (is_loop_exit): Declared.
+	(create_empty_if_region_on_edge): Declared.
+	(create_empty_loop_on_edge): Declared.
+	* tree-flow.h (add_phi_node_to_bb): Declared.
+	(make_phi_node): Declared.
+	(rename_variables_in_bb): Declared.
+	(perfect_loop_nest_depth): Declared.
+	(graphite_transform_loops): Declared.
+	* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
+	(graphite.o-warn): Add -Wno-error.
+	(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
+	(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
+	(INCLUDES): Add PPLINC, CLOOGINC.
+	(OBJS-common): Add graphite.o.
+	(graphite.o): Add rule.
+	* gimple.h (gimple_vec): ... here.
+	* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
+	* passes.c (init_optimization_passes): Schedule 
+	pass_graphite_transforms.
+
+2008-09-02  Samuel Tardieu  <sam@rfc1149.net>
+
+	PR target/37283
+	* opts.c (decode_options): Move processing of -fno-unit-at-a-time
+	and -fno-toplevel-reorder after handle_options.
+
+2008-09-02  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_tune_cortex_a9): Define.
+	(arm_override_options): Set arm_tune_cortex_a9.
+	(arm_rtx_costs_1): Make register shifts more expensive on Cortex-A9.
+	(arm_issue_rate): Handle cortexa9.
+	* config/arm/arm.h (arm_tune_cortex_a9): Declare.
+	* config/arm/arm-cores.def: Add cortex-a9.
+	* config/arm/arm-tune.md: Regenerate.
+	* config/arm/arm.md: Include cortex-a9.md.
+	(generic_sched, generic_vfp): Add cortexa9.
+	* config/arm/cortex-a9.md: New file.
+
+2008-09-02  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/37327
+	* tree-vrp.c (register_new_assert_for): Make sure to not have
+	TREE_OVERFLOW set on the bound.
+
+2008-09-02  Alexander Monakov  <amonakov@ispras.ru>
+
+	Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.
+
+	* config/ia64/ia64.opt (msched-ar-data-spec): Default to 1.
+	* config/ia64/ia64.c (ia64_set_sched_flags): Always initialize
+	spec_info->mask.
+
+2008-09-02  Victor Kaplansky  <victork@il.ibm.com>
+
+	* gcc/config/spu/spu.md (divdf3): Removed.
+
+2008-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/37095
+	* cgraph.c (cgraph_node): When creating new cgraph node after
+	assembler_name_hash has been populated, record it in the hash
+	table.
+
+2008-09-01  Paul Brook  <paul@codesourcery.com>
+
+	* doc/invoke.texi: Document -mword-relocations.
+	* config/arm/uclinux-elf.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
+	* config/arm/symbian.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
+	* config/arm/vxworks.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
+	* config/arm/arm.c (arm_split_constant): Use arm_emit_movpair.
+	(arm_rtx_costs_1, arm_size_rtx_costs): Handle HIGH and LO_SUM.
+	(arm_emit_movpair): New function.
+	(arm_print_operand <c>): Handle sybolic addresses.
+	* config/arm/arm.h (TARGET_USE_MOVT): Define.
+	(TARGET_DEFAULT_WORD_RELOCATIONS): Define.
+	* config/arm/arm-protos.h (arm_emit_movpair): Add prototype.
+	* config/arm/arm.opt: Add -mword-relocations.
+	* config/arm/arm.md (movsi): Use arm_emit_movpair.
+	(arm_movt, arm_movw): New.
+
+2008-09-01  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_override_options): Set arm_abi earlier.
+	Allow Interworking on ARMv4 EABI based targets.
+	* config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Define.
+	(SUBTARGET_EXTRA_ASM_SPEC, LINK_SPEC): Add TARGET_FIX_V4BX_SPEC.
+
+2008-09-01  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/thumb2.md (thumb2_negscc): Match the correct operand for
+	optimized LT0 test.  Remove optimization for GT.
+
+2008-09-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa64-hpux.h (LIB_SPEC): Link against librt when building static
+	openmp applications.
+	* pa-hpux11.h (LIB_SPEC): Likewise.
+
+	* ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS is
+	defined.
+
+2008-09-01  Jan Hubicka  <jh@suse.cz>
+
+	* predict.c (maybe_hot_count_p, maybe_hot_edge_p): When profile is
+	present, use only counts; when guessed use only frequencies.
+	(estimate_bb_frequencies): Use function_frequency.
+	* profile.c (compute_branch_probabilities): Exit early when
+	profile reading failed. Set profile_status.
+	(branch_prob): Do not set profile_status.
+
+2008-09-01  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree.c (protected_set_expr_location): New.
+	* tree.h (protected_set_expr_location): New prototype.
+	* c-tree.h (build_array_ref): Add argument.
+	(parser_build_unary_op): Same.
+	* c-typeck.c (build_indirect_ref): Handle new location argument.
+	(build_array_ref): Same.
+	(parser_build_unary_op): Same.
+	* gimplify.c (gimplify_asm_expr): Set input_location before calling
+	error.
+	* c-omp.c (c_finish_omp_atomic): Pass location when calling
+	build_indirect_ref.
+	* c-common.c (finish_label_address_expr): Handle new location
+	argument.
+	* c-common.h (build_indirect_ref): Add argument.
+	(finish_label_address_expr): Same.
+	* c-parser.c (c_parser_unary_expression): Pass location to build
+	functions.
+	(c_parser_postfix_expression): Same.
+
+2008-09-01  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.md: Include cortex-r4f.md.
+	(attr fpu): Update type list.
+	(attr type): Add fcpys, ffariths, ffarithd, fadds, faddd, fconsts,
+	fconstd, fcmps and fcmpd.
+	(attr tune_cortexr4): Define.
+	(attr generic_sched, attr generic_vfp): Use tune_cortexr4.
+	* config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd,
+	fconsts, fconstd, fcmps and fcmpd.  Use them in insn patterns.
+	* config/arm/arm.c (arm_issue_rate): Add cortexr4f.
+	* config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn
+	types.
+	* config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub,
+	cortex_a8_vfp_farith: Ditto.
+	* config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto.
+	* config/arm/cortex-r4.md: Use tune_cortexr4.
+	* config/arm/cortex-r4f.md: New file.
+
+2008-09-01  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/37305
+	* tree-ssa-ccp.c (ccp_fold): Do not set TREE_OVERFLOW on
+	the result of constant conversions.
+	(fold_gimple_assign): Likewise.
+
+2008-09-01  Andrey Belevantsev  <abel@ispras.ru>
+
+	* sel-sched-ir.c (cmp_v_in_regset_pool): Surround with
+	#ifdef ENABLE_CHECKING.
+
+2008-09-01  Andrey Belevantsev  <abel@ispras.ru>
+
+	* sel-sched-dump.c: Surround with #ifdef INSN_SCHEDULING.
+	* sched-int.h (print_insn, print_pattern, print_value): Declare also
+	when !INSN_SCHEDULING.
+
+2008-09-01  Andreas Schwab  <schwab@suse.de>
+
+	* config/ia64/ia64.c (TARGET_ADDRESS_COST): Update.
+
+2008-09-01  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_no_early_mul_dep): Handle multiply-subtract.
+
+2008-09-01  Jan Hubicka  <jh@suse.cz>
+
+	* config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO.
+
+	* expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): Pass speed operand.
+	* expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update.
+	* gimplify.c (gimplify_init_constructor): Add speed operand.
+	* tree-sra.c (decide_block_copy): Likewise.
+	* tree-inline.c (estimate_move_cost): Likewise.
+	* config/alpha/alpha.h (MOVE_RATIO): Update.
+	* config/frv/frv.c (MOVE_RATIO): Update.
+	* config/spu/spu.h (MOVE_RATIO): Update.
+	* config/sparc/sparc.h (MOVE_RATIO): Update.
+	* config/i386/i386.h (MOVE_RATIO, CLEAR_RATIO): Update.
+	* config/m68hc11/m68hc11.h (MOVE_RATIO): Update.
+	* config/cris/cris.h (MOVE_RATIO): Update.
+	* config/mn10300/mn10300.h (MOVE_RATIO): Update.
+	* config/arm/arm.h (MOVE_RATIO): Update.
+	* config/pa/pa.md: Update uses of MOVE_RATIO
+	* config/pa/pa.h (MOVE_RATIO): Update.
+	* config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, CLEAR_RATIO, SET_RATIO): Update.
+	* config/h8300/h8300.h (MOVE_RATIO): Update.
+	* config/v850/v850.h (MOVE_RATIO): Update.
+	* config/bfin/bfin.h (MOVE_RATIO): Update.
+
+2008-08-31  Andrey Belevantsev  <abel@ispras.ru>
+	Dmitry Melnik  <dm@ispras.ru>
+	Dmitry Zhurikhin  <zhur@ispras.ru>
+	Alexander Monakov  <amonakov@ispras.ru>
+	Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c,
+	sel-sched-dump.c, sel-sched-ir.c: New files.
+	* Makefile.in (OBJS-common): Add selective scheduling object
+	files.
+	(sel-sched.o, sel-sched-dump.o, sel-sched-ir.o): New entries.
+	(SEL_SCHED_IR_H, SEL_SCHED_DUMP_H): New entries.
+	(sched-vis.o): Add dependency on $(INSN_ATTR_H).
+	* cfghooks.h (get_cfg_hooks, set_cfg_hooks): New prototypes.
+	* cfghooks.c (get_cfg_hooks, set_cfg_hooks): New functions.
+	(make_forwarder_block): Update loop latch if we have redirected
+	the loop latch edge.
+	* cfgloop.c (get_loop_body_in_custom_order): New function.
+	* cfgloop.h (LOOPS_HAVE_FALLTHRU_PREHEADERS): New enum field.
+	(CP_FALLTHRU_PREHEADERS): Likewise.
+	(get_loop_body_in_custom_order): Declare.
+	* cfgloopmanip.c (has_preds_from_loop): New.
+	(create_preheader): Honor CP_FALLTHRU_PREHEADERS.
+	Assert that the preheader edge will be fall thru when it is set.
+	* common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining,
+	fsel-sched-pipelining-outer-loops, fsel-sched-renaming,
+	fsel-sched-substitution, fselective-scheduling): New flags.
+    	* cse.c (hash_rtx_cb): New.
+	(hash_rtx): Use it.
+	* dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt,
+	sel_sched_insn_cnt): New counters.
+	* final.c (compute_alignments): Export.  Free dominance info after loop_optimizer_finalize.
+	* genattr.c (main): Output maximal_insn_latency prototype.
+	* genautomata.c (output_default_latencies): New. Factor its code from ...
+	(output_internal_insn_latency_func): ... here.
+	(output_internal_maximal_insn_latency_func): New.
+	(output_maximal_insn_latency_func): New.
+	* hard-reg-set.h (UHOST_BITS_PER_WIDE_INT): Define unconditionally.
+	(struct hard_reg_set_iterator): New.
+	(hard_reg_set_iter_init, hard_reg_set_iter_set,
+	hard_reg_set_iter_next): New functions.
+	(EXECUTE_IF_SET_IN_HARD_REG_SET): New macro.
+	* lists.c (remove_free_INSN_LIST_node,
+	remove_free_EXPR_LIST_node): New functions.
+	* loop-init.c (loop_optimizer_init): When LOOPS_HAVE_FALLTHRU_PREHEADERS,
+	set CP_FALLTHRU_PREHEADERS when calling create_preheaders.
+	(loop_optimizer_finalize): Do not verify flow info after reload.
+	* recog.c (validate_replace_rtx_1): New parameter simplify.
+	Default it to true.  Update all uses.  Factor out simplifying
+	code to ...
+	(simplify_while_replacing): ... this new function.
+	(validate_replace_rtx_part,
+	validate_replace_rtx_part_nosimplify): New.
+	* recog.h (validate_replace_rtx_part,
+	validate_replace_rtx_part_nosimplify): Declare.
+	* rtl.c (rtx_equal_p_cb): New.
+	(rtx_equal_p): Use it.
+	* rtl.h (rtx_equal_p_cb, hash_rtx_cb): Declare.
+	(remove_free_INSN_LIST_NODE, remove_free_EXPR_LIST_node,
+	debug_bb_n_slim, debug_bb_slim,    print_rtl_slim): Likewise.
+	* vecprim.h: Add a vector type for unsigned int.
+	* haifa-sched.c: Include vecprim.h and cfgloop.h.
+	(issue_rate, sched_verbose_param, note_list, dfa_state_size,
+	ready_try, cycle_issued_insns, spec_info): Make global.
+	(readyp): Initialize.
+	(dfa_lookahead): New global variable.
+	(old_max_uid, old_last_basic_block): Remove.
+	(h_i_d): Make it a vector.
+	(INSN_TICK, INTER_TICK, QUEUE_INDEX, INSN_COST): Make them work
+	through HID macro.


The results can be reproduced by building a compiler with

--enable-gather-detailed-mem-stats targetting x86-64

and compiling preprocessed combine.c or testcase from PR8632 with:

-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q

The memory consumption summary appears in the dump after detailed listing
of the places they are allocated in.  Peak memory consumption is actually
computed by looking for maximal value in {GC XXXX -> YYYY} report.

Your testing script.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]