<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in c-outdated-data.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>0dd49a56 - Use functions with prototypes when appropriate; NFC</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#0dd49a56</link>
        <description>Use functions with prototypes when appropriate; NFCA significant number of our tests in C accidentally use functionswithout prototypes. This patch converts the function signatures to havea prototype for the situations where the test is not specific to K&amp;R Cdeclarations. e.g.,  void func();becomes  void func(void);This is the eighth batch of tests being updated (there are asignificant number of other tests left to be updated).

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Sat, 12 Feb 2022 12:23:43 +0000</pubDate>
        <dc:creator>Aaron Ballman &lt;aaron@aaronballman.com&gt;</dc:creator>
    </item>
<item>
        <title>6186971a - [PGO] Detect more structural changes with the stable hash</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#6186971a</link>
        <description>[PGO] Detect more structural changes with the stable hashLifting from Bob Wilson&apos;s notes: The hash value that we compute andstore in PGO profile data to detect out-of-date profiles does notinclude enough information. This means that many significant changes tothe source will not cause compiler warnings about the profile being outof date, and worse, we may continue to use the outdated profile data tomake bad optimization decisions.  There is some tension here becausesome source changes won&apos;t affect PGO and we don&apos;t want to invalidate theprofile unnecessarily.This patch adds a new hashing scheme which is more sensitive to loopnesting, conditions, and out-of-order control flow. Here are exampleswhich show snippets which get the same hash under the current scheme,and different hashes under the new scheme:Loop Nesting Example--------------------  // Snippet 1  while (foo()) {    while (bar()) {}  }  // Snippet 2  while (foo()) {}  while (bar()) {}Condition Example-----------------  // Snippet 1  if (foo())    bar();  baz();  // Snippet 2  if (foo())    bar();  else    baz();Out-of-order Control Flow Example---------------------------------  // Snippet 1  while (foo()) {    if (bar()) {}    baz();  }  // Snippet 2  while (foo()) {    if (bar())      continue;    baz();  }In each of these cases, it&apos;s useful to differentiate between thesnippets because swapping their profiles gives bad optimization hints.The new hashing scheme considers some logical operators in an effort todetect more changes in conditions. This isn&apos;t a perfect scheme. E.g, itdoes not produce the same hash for these equivalent snippets:  // Snippet 1  bool c = !a || b;  if (d &amp;&amp; e) {}  // Snippet 2  bool f = d &amp;&amp; e;  bool c = !a || b;  if (f) {}This would require an expensive data flow analysis. Short of that, thenew hashing scheme looks reasonably complete, based on a scan over thestatements we place counters on.Profiles which use the old version of the PGO hash remain valid and canbe used without issue (there are tests in tree which check this).rdar://17068282Differential Revision: https://reviews.llvm.org/D39446llvm-svn: 318229

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Tue, 14 Nov 2017 23:56:53 +0000</pubDate>
        <dc:creator>Vedant Kumar &lt;vsk@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>96d6ca7e - [Profile] Add off-by-default -Wprofile-instr-missing warning</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#96d6ca7e</link>
        <description>[Profile] Add off-by-default -Wprofile-instr-missing warningClang warns that a profile is out-of-date if it can&apos;t find a profilerecord for any function in a TU. This warning became noisy after llvmstarted allowing dead-stripping of instrumented functions.To fix this, this patch changes the existing profile out-of-date warning(-Wprofile-instr-out-of-date) so that it only complains about mismatcheddata. Further, it introduces a new, off-by-default warning about missingfunction data (-Wprofile-instr-missing).Differential Revision: https://reviews.llvm.org/D28867llvm-svn: 301570

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Thu, 27 Apr 2017 17:30:58 +0000</pubDate>
        <dc:creator>Vedant Kumar &lt;vsk@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9c6f1538 - [PGO] Change profile use cc1 option to handle IR level profiles</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#9c6f1538</link>
        <description>[PGO] Change profile use cc1 option to handle IR level profilesThis patch changes cc1 option for PGO profile use from-fprofile-instr-use=&lt;path&gt; to -fprofile-instrument-use-path=&lt;path&gt;.-fprofile-instr-use=&lt;path&gt; is now a driver only option.In addition to decouple the cc1 option from the driver level option, this patchalso enables IR level profile use. cc1 option handling now reads the profileheader and sets CodeGenOpt ProfileUse (valid values are {None, Clang, LLVM}-- this is a common enum for -fprofile-instrument={}, for the profileinstrumentation), and invoke the pipeline to enable the respective PGO use pass.Reviewers: silvas, davidxlDifferential Revision: http://reviews.llvm.org/D17737llvm-svn: 262515

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Wed, 02 Mar 2016 20:59:36 +0000</pubDate>
        <dc:creator>Rong Xu &lt;xur@google.com&gt;</dc:creator>
    </item>
<item>
        <title>534f14ab - test: Use llvm-profdata merge in Profile tests</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#534f14ab</link>
        <description>test: Use llvm-profdata merge in Profile testsIn preparation for using a binary format for instrumentation basedprofiling, explicitly treat the test inputs as text and transform thembefore running. This will allow us to leave the checked in files inhuman readable format once the instrumentation format is binary.No functional change.llvm-svn: 206509

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Thu, 17 Apr 2014 22:49:06 +0000</pubDate>
        <dc:creator>Justin Bogner &lt;mail@justinbogner.com&gt;</dc:creator>
    </item>
<item>
        <title>e2ef2a09 - CodeGen: Emit warnings for out of date profile data during PGO</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#e2ef2a09</link>
        <description>CodeGen: Emit warnings for out of date profile data during PGOThis adds a warning that triggers when profile data doesn&apos;t match forthe source that&apos;s being compiled with -fprofile-instr-use=. This firesonly once per translation unit, as warning on every mismatchedfunction would be quite noisy.llvm-svn: 206322

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Tue, 15 Apr 2014 21:22:35 +0000</pubDate>
        <dc:creator>Justin Bogner &lt;mail@justinbogner.com&gt;</dc:creator>
    </item>
<item>
        <title>ffaa2330 - test: Regenerate profile data for PGO tests</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c#ffaa2330</link>
        <description>test: Regenerate profile data for PGO testsSome of this data had gotten out of date, so we weren&apos;t quite testingwhat we thought we were. This also moves the outdated data test to itsown file to simplify regenerating the test data.llvm-svn: 203546

            List of files:
            /llvm-project-15.0.7/clang/test/Profile/c-outdated-data.c</description>
        <pubDate>Tue, 11 Mar 2014 06:49:34 +0000</pubDate>
        <dc:creator>Justin Bogner &lt;mail@justinbogner.com&gt;</dc:creator>
    </item>
</channel>
</rss>
