- User Since
- Oct 14 2021, 10:30 PM (36 w, 6 d)
Tue, Jun 28
Change to AArch64TargetTransformInfo.cpp only:
- Add the missing continue for store operation check.
- Remove the OneUse restriction added for uitofpinst/sitofpinst.
In AArch64TargetTransformInfo.cpp, change helper function isExtractedElementUsedAsInteger by
- assert that all users of an instruction are instructions
- simplify the store operation usage check, since integer could only be directly used as value as it is, the source of store operation (i.e., not the destination to store the value to).
- require that uitofpinst/sitofpinst is the only use of extract-element if we think the extract-element operation is free.
For getVectorInstrCost method, optionally pass a pointer of Instruction, and each target can retrieve the (use) context and customize cost estimation. For AArch64 implementation, fall back to use VectorInsertExtractBaseCost rather than regard extract element at index 0 as a free operation.
Fri, Jun 24
Update the description of option --annotate-inline-phase.
Thu, Jun 23
Sync base to head.
Wed, Jun 22
Address comments, by using overloaded operator rather than hasValue() / getValue(), since the former is closer to std::optional in terms of style.
Tue, Jun 21
Sat, Jun 18
thanks for root cause and quick fix! lgtm after resolving others' comments.
- Change NoopStatistic to use uint64_t, to use consistent type for TrackingStatistic and NoopStatistic.
- If type isn't consistent, a user of Statistic class would compile when using one statistic type but fail to compile when using the other statistic type. See example usage in https://github.com/llvm/llvm-project/blob/6dd094dd435d09872687c1bdcce6845f70cf25cc/llvm/lib/Transforms/Scalar/NewGVN.cpp#L3409
Fri, Jun 17
No change to patch content; 2 updates commit message (keep commit message and differential summary consistent, and append differential revision link as the last line of commit message).
In llvm/unittests/ADT/StatisticTest.cpp line 45, use UINT64_C(0) rather than 0ll as suggested.
In struct Statistic from , change field value type from unsigned to uint64_t accordingly.
Thu, Jun 16
No code change.
Use --target=aarch64 rather than --target=aarch64-unknown-linux-gnu, given the former means all ELF based operating systems can expect the feature. (thanks maskray@ for pointing it out!)
change from -target=aarch64-none-linux-gnu to --target=aarch64-none-linux-gnu to resolve a compile error.
In clang/test/Preprocessor/aarch64-target-features.c, move __ARM_FEATURE_RCPC to keep the alphabetical list, and use -target=aarch64.. (the join style) rather than legacy while-space separated style (key value).
Wed, Jun 15
Tue, Jun 14
update commit message with differential revision link.
Wed, Jun 8
thanks for reviews! PTAL.
Resolve comments, and add Differential Revision: <URL> in commit message.
Thu, Jun 2
Revert unnecessary change in llvm/include/llvm/Transforms/IPO/SampleProfile.h
Upon reflection of static usage I realize there is a bug in this patch.
- Fix a bug in InlineAdvisor::getAnnotatedInlinePassName (from https://reviews.llvm.org/D126824). Basically, to compute string only once, make it a constant member of class, and return its c_str() ever since.
Update commit message to the same as Phabricator summary, and a minor comment change
Wed, Jun 1
Use a general struct name, and add entries for SampleProfileInliner, AlwaysInliner, MLInliner.
This is a strict subset of https://reviews.llvm.org/D125495, to make that patch simpler.
Tue, May 31
resolve the following compile failure and run ninja check-all to verify
Just fwiw, the sample-profile annotation and default-inline-advisor annotation are orthogonal and gated by two different options. I'm willing to move either one into another patch if a smaller patch is easier to review :-)
The patch annotates SampleProfile inline, as well as the inline passes that talks to DefaultInlineAdvisor to get an advice (CGSCC, ModuleInline, ReplayInline).
Add struct InlineAdvisorParams.
- Ctor of inliner advisor provides this struct with two dimensional information.
- Inline advice instances query this struct to get the annotation information.
May 12 2022
Fix a build error for llvm-project/llvm/lib/Transforms/IPO/SampleProfile.cpp:613:1: error: expected ‘;’ before ‘}’ token
Resolve the comments.
May 10 2022
Reopen to update commit message (https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20220509/1036412.html)
Fix a typo
Reapply with a descriptive commit message.
Reopen so as to re-commit (upon request https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20220509/1036289.html)