<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/lib/Basic/CodeGenOptions.cpp, branch users/meinersbur/flang_runtime_split-headers</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[gcov] Bump default version to 11.1</title>
<updated>2025-01-03T07:01:28+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-01-03T07:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=82fecab85ae2d72ffac0e44749d99f12d6f71cc0'/>
<id>82fecab85ae2d72ffac0e44749d99f12d6f71cc0</id>
<content type='text'>
The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.

Therefore, we can drop producer support for version &lt; 11.1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.

Therefore, we can drop producer support for version &lt; 11.1.
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][modules] Fix CodeGen options that can affect the AST. (#78816)</title>
<updated>2024-01-23T17:30:58+00:00</updated>
<author>
<name>Juergen Ributzka</name>
<email>juergen@ributzka.de</email>
</author>
<published>2024-01-23T17:30:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c5a33befcc328339a84c35f6899ff3f3309399fc'/>
<id>c5a33befcc328339a84c35f6899ff3f3309399fc</id>
<content type='text'>
`OptimizationLevel` and `OptimizeSize` can affect the generated AST. They indirectly affect the `Optimize` and `OptimizeSize` frontend options, which in turn set predefined macro definitions.

This fixes rdar://121228252.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`OptimizationLevel` and `OptimizeSize` can affect the generated AST. They indirectly affect the `Optimize` and `OptimizeSize` frontend options, which in turn set predefined macro definitions.

This fixes rdar://121228252.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][modules] Reset codegen options (take 2). (#74388)</title>
<updated>2023-12-05T16:31:21+00:00</updated>
<author>
<name>Juergen Ributzka</name>
<email>juergen@ributzka.de</email>
</author>
<published>2023-12-05T16:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5ad3a32c79319b0721cb26398946b9a59b50d264'/>
<id>5ad3a32c79319b0721cb26398946b9a59b50d264</id>
<content type='text'>
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[clang][modules] Reset codegen options. (#74006)"</title>
<updated>2023-12-04T22:28:22+00:00</updated>
<author>
<name>Juergen Ributzka</name>
<email>juergen@ributzka.de</email>
</author>
<published>2023-12-04T22:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1157bee5ce2c7acb803cda5003b2ea9d0ed962e2'/>
<id>1157bee5ce2c7acb803cda5003b2ea9d0ed962e2</id>
<content type='text'>
This reverts commit fef1854318bd797c1f8a141d4b45b113b04860d1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit fef1854318bd797c1f8a141d4b45b113b04860d1.
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][modules] Reset codegen options. (#74006)</title>
<updated>2023-12-04T21:54:57+00:00</updated>
<author>
<name>Juergen Ributzka</name>
<email>juergen@ributzka.de</email>
</author>
<published>2023-12-04T21:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fef1854318bd797c1f8a141d4b45b113b04860d1'/>
<id>fef1854318bd797c1f8a141d4b45b113b04860d1</id>
<content type='text'>
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
    file. The file is included by `CodeGenOptions.def`, so the change is
    transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Remove duplicate isNoBuiltinFunc method</title>
<updated>2021-03-10T08:18:55+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2021-03-08T13:46:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ea8e5b87acba4b7dad749d697a3969901652b97a'/>
<id>ea8e5b87acba4b7dad749d697a3969901652b97a</id>
<content type='text'>
It's available both in CodeGenOptions and in LangOptions, and LangOptions
implementation is slightly better as it uses a StringRef instead of a char
pointer, so use it.

Differential Revision: https://reviews.llvm.org/D98175
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's available both in CodeGenOptions and in LangOptions, and LangOptions
implementation is slightly better as it uses a StringRef instead of a char
pointer, so use it.

Differential Revision: https://reviews.llvm.org/D98175
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Move all fields of '-cc1' option related classes into def file databases"</title>
<updated>2020-09-02T17:38:34+00:00</updated>
<author>
<name>Douglas Yung</name>
<email>douglas.yung@sony.com</email>
</author>
<published>2020-09-02T17:35:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8d2d0e84857cb1f2d01456eb433b5172d3a0772b'/>
<id>8d2d0e84857cb1f2d01456eb433b5172d3a0772b</id>
<content type='text'>
This reverts commit c4a2a1307484cffe94a291c42572775411bac8d8.

This commit was causing a test failure: http://lab.llvm.org:8011/builders/llvm-clang-win-x-armv7l/builds/1068
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c4a2a1307484cffe94a291c42572775411bac8d8.

This commit was causing a test failure: http://lab.llvm.org:8011/builders/llvm-clang-win-x-armv7l/builds/1068
</pre>
</div>
</content>
</entry>
<entry>
<title>Move all fields of '-cc1' option related classes into def file databases</title>
<updated>2020-09-02T12:07:01+00:00</updated>
<author>
<name>Daniel Grumberg</name>
<email>dany.grumberg@gmail.com</email>
</author>
<published>2020-08-19T15:16:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4a2a1307484cffe94a291c42572775411bac8d8'/>
<id>c4a2a1307484cffe94a291c42572775411bac8d8</id>
<content type='text'>
Once the new option parsing system is committed, this will allow to generate a
check to ensure that correct command line generation happens

Differential Revision: https://reviews.llvm.org/D86290
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Once the new option parsing system is committed, this will allow to generate a
check to ensure that correct command line generation happens

Differential Revision: https://reviews.llvm.org/D86290
</pre>
</div>
</content>
</entry>
<entry>
<title>[gcov] Default coverage version to '408*' and delete CC1 option -coverage-exit-block-before-body</title>
<updated>2020-05-12T16:14:03+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2020-05-12T06:20:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b56b1e67e38e5f18318b411587a952bc7c586ac4'/>
<id>b56b1e67e38e5f18318b411587a952bc7c586ac4</id>
<content type='text'>
gcov 4.8 (r189778) moved the exit block from the last to the second.
The .gcda format is compatible with 4.7 but

* decoding libgcov 4.7 produced .gcda with gcov [4.7,8) can mistake the
  exit block, emit bogus `%s:'%s' has arcs from exit block\n` warnings,
  and print wrong `" returned %s` for branch statistics (-b).
* decoding libgcov 4.8 produced .gcda with gcov 4.7 has similar issues.

Also, rename "return block" to "exit block" because the latter is the
appropriate term.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gcov 4.8 (r189778) moved the exit block from the last to the second.
The .gcda format is compatible with 4.7 but

* decoding libgcov 4.7 produced .gcda with gcov [4.7,8) can mistake the
  exit block, emit bogus `%s:'%s' has arcs from exit block\n` warnings,
  and print wrong `" returned %s` for branch statistics (-b).
* decoding libgcov 4.8 produced .gcda with gcov 4.7 has similar issues.

Also, rename "return block" to "exit block" because the latter is the
appropriate term.
</pre>
</div>
</content>
</entry>
<entry>
<title>[gcov] Default coverage version to '407*' and delete CC1 option -coverage-cfg-checksum</title>
<updated>2020-05-10T23:14:07+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2020-05-10T19:47:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=25544ce2df0daa4304c07e64b9c8b0f7df60c11d'/>
<id>25544ce2df0daa4304c07e64b9c8b0f7df60c11d</id>
<content type='text'>
Defaulting to -Xclang -coverage-version='407*' makes .gcno/.gcda
compatible with gcov [4.7,8)

In addition, delete clang::CodeGenOptionsBase::CoverageExtraChecksum and GCOVOptions::UseCfgChecksum.
We can infer the information from the version.

With this change, .gcda files produced by `clang --coverage a.o` linked executable can be read by gcov 4.7~7.
We don't need other -Xclang -coverage* options.
There may be a mismatching version warning, though.

(Note, GCC r173147 "split checksum into cfg checksum and line checksum"
 made gcov 4.7 incompatible with previous versions.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Defaulting to -Xclang -coverage-version='407*' makes .gcno/.gcda
compatible with gcov [4.7,8)

In addition, delete clang::CodeGenOptionsBase::CoverageExtraChecksum and GCOVOptions::UseCfgChecksum.
We can infer the information from the version.

With this change, .gcda files produced by `clang --coverage a.o` linked executable can be read by gcov 4.7~7.
We don't need other -Xclang -coverage* options.
There may be a mismatching version warning, though.

(Note, GCC r173147 "split checksum into cfg checksum and line checksum"
 made gcov 4.7 incompatible with previous versions.)
</pre>
</div>
</content>
</entry>
</feed>
