Page MenuHomePhabricator

itf (Ivan Tadeu Ferreira Antunes Filho)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 22 2023, 2:57 PM (13 w, 6 d)

Recent Activity

Apr 11 2023

itf updated the summary of D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 11 2023, 8:46 AM · Restricted Project, Restricted Project, lld, Restricted Project

Apr 7 2023

itf updated the diff for D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 7 2023, 10:03 AM · Restricted Project, Restricted Project, lld, Restricted Project

Apr 6 2023

itf added inline comments to D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 6 2023, 12:50 PM · Restricted Project, Restricted Project, lld, Restricted Project
itf updated the diff for D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 6 2023, 12:50 PM · Restricted Project, Restricted Project, lld, Restricted Project
itf updated the diff for D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 6 2023, 12:43 PM · Restricted Project, Restricted Project, lld, Restricted Project

Apr 4 2023

itf added a comment to D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.

This is a continuation of D144596 , based on D144596#4182628.

Apr 4 2023, 5:03 PM · Restricted Project, Restricted Project, lld, Restricted Project
itf requested review of D147584: [lld] Support separate minimized bitcode file path in --thinlto-prefix-replace.
Apr 4 2023, 5:00 PM · Restricted Project, Restricted Project, lld, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Apr 4 2023, 9:53 AM · Restricted Project, Restricted Project, Restricted Project

Apr 3 2023

itf added inline comments to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Apr 3 2023, 3:31 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Apr 3 2023, 3:31 PM · Restricted Project, Restricted Project, Restricted Project
itf added inline comments to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Apr 3 2023, 3:24 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Apr 3 2023, 3:13 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Fix issue with gold plugin. Uses c++17 structured binding for getOldNewOptionsExtra for readability.

Apr 3 2023, 2:32 PM · Restricted Project, Restricted Project, Restricted Project

Mar 31 2023

itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 31 2023, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Adds missing %t to failing COFF test

Mar 31 2023, 9:32 AM · Restricted Project, Restricted Project, Restricted Project

Mar 30 2023

itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 30 2023, 3:51 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 30 2023, 12:15 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Split thinLTOPrefixReplace into thinLTOPrefixReplaceOld and thinLTOPrefixReplaceNew because otherwise it was unexpeced that the first element of a pair would be replaced by a a variable that comes from outside the pair. Add test for COFF. Fixes typos and add comments to code.

Mar 30 2023, 12:10 PM · Restricted Project, Restricted Project, Restricted Project

Mar 28 2023

itf added inline comments to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 28 2023, 10:22 AM · Restricted Project, Restricted Project, Restricted Project

Mar 27 2023

itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 27 2023, 8:22 AM · Restricted Project, Restricted Project, Restricted Project

Mar 24 2023

itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

All changes suggested in the comments have now been implemented

Mar 24 2023, 3:52 PM · Restricted Project, Restricted Project, Restricted Project

Mar 23 2023

itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 23 2023, 9:49 AM · Restricted Project, Restricted Project, Restricted Project
itf added inline comments to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 23 2023, 9:42 AM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Mar 23 2023, 9:36 AM · Restricted Project, Restricted Project, Restricted Project

Mar 14 2023

itf added a comment to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

To support tree artifacts with an unknown number of full bitcode files and minimized bitcode files, we need to use different directories.
If these bitcode files are within the same directory, Bazel will have to ship both full and minimized bitcode files to a backend compile action, causing waste.
To ship just full bitcode files in a backend compile action, full and minimized bitcode files need to be in different directories (e.g. a.bc and indexing/a.bc).

I'm very confused as this is not mentioned anywhere in this patch by @itf. Normally, at least without tree artifacts, we only ship the specified input files, not the entire directory. The stated motivation for this particular patch, which was unrelated to the input files of the indexing action, was:


Bazel tree artifacts require that the folders are "write once". Therefore we cannot insert the link objects in the same folder as the result from the thinlto indexing step. Currently the file "--thinlto-index-only=file" requires the link objects to be in the same folder as the summary+import files from the indexing step.

This change allows having a different prefix for the link objects, and therefore keep the folders containing the summary+import files be "write once".


@itf can you clarify whether the input object handling is different than for non-tree artifacts as well?

Mar 14 2023, 2:52 PM · Restricted Project, Restricted Project, Restricted Project

Feb 28 2023

itf added inline comments to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Feb 28 2023, 2:59 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

replaced lld with %lld for MachO

Feb 28 2023, 2:54 PM · Restricted Project, Restricted Project, Restricted Project

Feb 24 2023

itf added a comment to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Can Bazel rewrite a.rsp with content xxx/a.o to xxx/random_hash/a.o? It will create a new file but I don't think that's a bottleneck.

Currently there is no code in bazel, that reads and modifies a parameter file like a.rsp. It is possible to do so by, for example, calling a shell script / binary executable that modifies the file and saves a new one as one of the actions (like so: https://github.com/bazelbuild/examples/tree/main/rules/actions_run).

However, I'd argue that it is better for lld to have this extra argument. The link objects .o are outputs of actions that can be run in parallel, while the thinlto.bc and the .import files are a result of the thinlto indexing action which run in series, i.e. all the thinlto.bc are generated simultaneously. I find it unexpected that lld would force those files to be in the same folders, given that thinlto-index-only= is particularly useful for distributed thinLTO, where there could be restrictions on what can be saved in each location

I am not convinced. For --thinlto-prefix-replace=';lto/;unique_prefix_for_rsp/', the output bitcode files and import files are in lto/ while the response file uses a different prefix.
This doesn't look like a reasonable build system request for the linker. Why can't Bazel place output bitcode files and import files under unique_prefix_for_rsp/ as well?

Feb 24 2023, 3:24 PM · Restricted Project, Restricted Project, Restricted Project
itf added a comment to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Can Bazel rewrite a.rsp with content xxx/a.o to xxx/random_hash/a.o? It will create a new file but I don't think that's a bottleneck.

Currently there is no code in bazel, that reads and modifies a parameter file like a.rsp. It is possible to do so by, for example, calling a shell script / binary executable that modifies the file and saves a new one as one of the actions (like so: https://github.com/bazelbuild/examples/tree/main/rules/actions_run).

Feb 24 2023, 2:01 PM · Restricted Project, Restricted Project, Restricted Project

Feb 23 2023

itf added a comment to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

IIUC the proposed third component of ; just changes the --thinlto-index-only=a.rsp specified response file (not anything else on the disk), then I am unsure how it is going to help Bazel...
Bazel can preprocess the a.rsp content itself, instead of requiring more from the linker.

Feb 23 2023, 1:15 PM · Restricted Project, Restricted Project, Restricted Project
itf updated the diff for D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

Fixes build error caused by not including the new function getOldNewOptionsExtra in driver.cpp into the patch

Feb 23 2023, 12:46 PM · Restricted Project, Restricted Project, Restricted Project
itf added a comment to D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.

What's the motivation of this change?

Feb 23 2023, 9:51 AM · Restricted Project, Restricted Project, Restricted Project

Feb 22 2023

itf requested review of D144596: [lld] Support separate native object file path in --thinlto-prefix-replace.
Feb 22 2023, 3:17 PM · Restricted Project, Restricted Project, Restricted Project