Page MenuHomePhabricator
Feed Advanced Search

Yesterday

zequanwu updated the diff for D97436: [lld-link] Fix addrsig symbols merging in ICF..

address comment.

Mon, Mar 1, 6:17 PM · Restricted Project
zequanwu added inline comments to D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.
Mon, Mar 1, 5:01 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D97436: [lld-link] Fix addrsig symbols merging in ICF..

Update test case.

Mon, Mar 1, 12:03 PM · Restricted Project
zequanwu updated the diff for D97436: [lld-link] Fix addrsig symbols merging in ICF..

Preserve the bahavior of /opt:icf. Using /opt:safeicf to do safe icf for all sections.

Mon, Mar 1, 11:56 AM · Restricted Project

Fri, Feb 26

zequanwu added a reviewer for D97436: [lld-link] Fix addrsig symbols merging in ICF.: pcc.
In D97436#2591761, @pcc wrote:

As far as I know the current behavior is that /opt:icf gives you full ICF for executable sections and safe ICF for non-executable sections. This is more than what MSVC does, which is full ICF for executable sections and no ICF for non-executable sections. I think it makes sense to add a mode that gives you full ICF for non-executable sections, but the behavior of /opt:icf should be preserved.

Fri, Feb 26, 8:36 PM · Restricted Project
zequanwu updated the diff for D97436: [lld-link] Fix addrsig symbols merging in ICF..
  • Add /OPT:safeicf, which will mark all sections as unique if .addrsig doesn't exist. By default, /OPT:icf will do aggressive icf, matching the behavior of MSVC linker's /OPT:icf.
  • Update test cases.
Fri, Feb 26, 4:43 PM · Restricted Project

Thu, Feb 25

zequanwu committed rG4500f0a7321d: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual… (authored by zequanwu).
[Clang][Attributes] Allow not_tail_called attribute to be applied to virtual…
Thu, Feb 25, 2:59 PM
zequanwu closed D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..
Thu, Feb 25, 2:58 PM · Restricted Project
zequanwu updated the diff for D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..

Adopt Quuxplusone's phrasing.

Thu, Feb 25, 1:44 PM · Restricted Project

Wed, Feb 24

zequanwu requested review of D97436: [lld-link] Fix addrsig symbols merging in ICF..
Wed, Feb 24, 8:15 PM · Restricted Project
zequanwu updated the diff for D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..

Add a doc example and CodeGen testcase about not_tail_called being applied to method override in a derived class.

Wed, Feb 24, 3:35 PM · Restricted Project

Tue, Feb 23

zequanwu added inline comments to D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.
Tue, Feb 23, 6:11 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.
  • Revert the deletion of completeDeferred in pushRegion.
  • Emit zero gap region only if OutCounter is different from parentCounter in whil, for statements.
  • Update test cases.
Tue, Feb 23, 5:57 PM · Restricted Project, Restricted Project

Mon, Feb 22

zequanwu committed rGb380699416d8: [Utils] Add an option to specify number of cores to use in creduce-clang-crash. (authored by zequanwu).
[Utils] Add an option to specify number of cores to use in creduce-clang-crash.
Mon, Feb 22, 12:49 PM
zequanwu closed D97098: [Utils] Add an option to specify number of cores to use in creduce-clang-crash.py.
Mon, Feb 22, 12:48 PM · Restricted Project
zequanwu updated the diff for D97098: [Utils] Add an option to specify number of cores to use in creduce-clang-crash.py.

Address comment, using max(4, multiprocessing.cpu_count() / 2) because os.cpu_count is not available in python2.

Mon, Feb 22, 11:46 AM · Restricted Project
zequanwu updated the diff for D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.

Rebase and fix runtime-counter-relocation.c

Do we have to revert D85036 in the same patch in order to keep the integration tests green?

Mon, Feb 22, 11:39 AM · Restricted Project, Restricted Project

Fri, Feb 19

zequanwu added a reverting change for D85036: [llvm-cov] reset executation count to 0 after wrapped segment: D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.
Fri, Feb 19, 4:54 PM · Restricted Project
zequanwu requested review of D97101: [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return.
Fri, Feb 19, 4:54 PM · Restricted Project, Restricted Project
zequanwu requested review of D97098: [Utils] Add an option to specify number of cores to use in creduce-clang-crash.py.
Fri, Feb 19, 4:17 PM · Restricted Project
zequanwu added a comment to D85176: [Coverage] Emit gap region after conditions when macro is present..

This commit introduced an unused variable warning when built without asserts. (CoverageMappingGen.cpp:984) I have fixed it with rG4544a63b7705.

Fri, Feb 19, 10:48 AM · Restricted Project

Thu, Feb 18

zequanwu closed D85176: [Coverage] Emit gap region after conditions when macro is present..
Thu, Feb 18, 11:43 AM · Restricted Project
zequanwu added a comment to D85176: [Coverage] Emit gap region after conditions when macro is present..

Landed at https://github.com/llvm/llvm-project/commit/d83511dd26ca8d0dd5be6302ad7b55de05cedab2 (forgot to add the differential revision line).

Thu, Feb 18, 11:42 AM · Restricted Project
zequanwu committed rGd83511dd26ca: [Coverage] Emit gap region after conditions when macro is present. (authored by zequanwu).
[Coverage] Emit gap region after conditions when macro is present.
Thu, Feb 18, 11:41 AM
zequanwu added inline comments to D85176: [Coverage] Emit gap region after conditions when macro is present..
Thu, Feb 18, 11:12 AM · Restricted Project
zequanwu updated the diff for D85176: [Coverage] Emit gap region after conditions when macro is present..
  • Added regression test.
  • Assert getIncludeOrExpansionLoc(AfterLoc) is valid.
Thu, Feb 18, 11:12 AM · Restricted Project
zequanwu retitled D85176: [Coverage] Emit gap region after conditions when macro is present. from [Coverage] Enable emitting gap area between macros to [Coverage] Emit gap region after conditions when macro is present..
Thu, Feb 18, 10:12 AM · Restricted Project
zequanwu updated the diff for D85176: [Coverage] Emit gap region after conditions when macro is present..

Tested on clange stage2 build.

Thu, Feb 18, 10:12 AM · Restricted Project

Wed, Feb 17

zequanwu added a comment to D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..

It was explicitly disallowed in the initial patch: https://reviews.llvm.org/D12922 and the original author said "I'm still trying to figure out the best way to handle c++ virtual functions: this attribute is not very useful for someone who is looking for a way to reliably prevent tail-call to a virtual function." and "I made this change because this attribute isn't useful when the compiler cannot resolve the function call statically at compile time and it isn't important for the use case I have." Has this situation changed in the backend?

Oh, I didn't see that. But when I tested not_tail_called on normal functions, it seems like not working(https://godbolt.org/z/znr5b5, f1 is marked as not_tail_called, it still get inlined). Or, I misunderstand how to use it properly?

I'm still trying to remember the discussions we had, but I think we banned the attribute on virtual functions because you can't in general promise a call to an annotated function won't be tail called if the function is virtual.

This patch doesn't prevent the call to method in the code below from being tail called, but I suppose users would except the attribute to prevent the tail call?

struct B {
  virtual void method();  
};

struct D : B {
  [[clang::not_tail_called]] void method() override; 
};

void test(D *d) {
  B *b = D;
  b->method();
}
Wed, Feb 17, 3:56 PM · Restricted Project
zequanwu added a comment to D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..

It was explicitly disallowed in the initial patch: https://reviews.llvm.org/D12922 and the original author said "I'm still trying to figure out the best way to handle c++ virtual functions: this attribute is not very useful for someone who is looking for a way to reliably prevent tail-call to a virtual function." and "I made this change because this attribute isn't useful when the compiler cannot resolve the function call statically at compile time and it isn't important for the use case I have." Has this situation changed in the backend?

Wed, Feb 17, 1:06 PM · Restricted Project

Tue, Feb 16

zequanwu requested review of D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..
Tue, Feb 16, 6:56 PM · Restricted Project

Mon, Feb 8

zequanwu added a comment to D85036: [llvm-cov] reset executation count to 0 after wrapped segment.

I think it makes sense to revert, assuming the clang frontend bugs are fixed? It may be necessary to regenerate the .covmapping file for the instrprof-comdat.h test.

Mon, Feb 8, 4:43 PM · Restricted Project
zequanwu added a comment to D85036: [llvm-cov] reset executation count to 0 after wrapped segment.

This fix to the three bugs is not correct. It's a workaround on llvm-cov side to accommodate clang frontend bugs. It results unexpected effect discovered by Rust coverage. We need to fix those bugs on clang coverage side rather than llvm-cov.

Mon, Feb 8, 12:13 PM · Restricted Project

Fri, Feb 5

zequanwu abandoned D95987: [llvm-cov] Reset ExecutionCount only if first line segment is start of a new region..

Abandoned since this is not a bug.

Fri, Feb 5, 2:13 PM · Restricted Project, Restricted Project

Thu, Feb 4

zequanwu added a comment to D95987: [llvm-cov] Reset ExecutionCount only if first line segment is start of a new region..

For the example you provided, I am not sure if it's a bug or not. Segment at 3:45 (count = 0), RegionEntry corresponds to the error path of the ? operator, which means error path is not executed. So, the 0 count looks reasonable. If we mark line 3 as executed regardless of which path is chosen, we may lost the information of path choices.

Thu, Feb 4, 5:44 PM · Restricted Project, Restricted Project
zequanwu added a comment to D95987: [llvm-cov] Reset ExecutionCount only if first line segment is start of a new region..

Thanks for the patch Zequan. This fixes the C++ test case that prompted this issue.

The underlying Rust issue is not fixed though:

 1|       |fn notatest() -> Result<(), std::env::VarError> {
 2|      1|        let result = std::env::var("MEOW")
 3|      0|                    .or(Ok("a".to_string()))?;
 4|      1|            println!("{}", result);
 5|      1|                Ok(())
 6|      1|}
 7|       | 
 8|      1|fn main() {
 9|      1|        println!("Hello, world! {:?}", notatest());
10|      1|}

Here're the regions from -debug-only=coverage-mapping:

Segment at 2:13 (count = 1), RegionEntry
Segment at 2:19 (count = 0), Skipped                                                          
Segment at 2:22 (count = 1), RegionEntry                                                      
Segment at 3:45 (count = 0), RegionEntry
Segment at 3:46 (count = 0), Skipped
Segment at 4:13 (count = 1), RegionEntry
Segment at 5:23 (count = 0), Skipped
Segment at 6:1 (count = 1), RegionEntry
Segment at 6:2 (count = 0), Skipped
Segment at 8:11 (count = 1), RegionEntry
Segment at 10:2 (count = 0), Skipped

The ternary operator case in the C++ test case has a gap region corresponding to the ?. For the Rust ? operator, there is no similar gap region. In fact, the rust frontend associates the counter corresponding to the error path of the ? operator to the ? token . Is there a better sequence of Segments that the Rust frontend can emit to handle this case?

Thu, Feb 4, 5:14 PM · Restricted Project, Restricted Project
zequanwu committed rG96fb49c3ff8e: [AST] Update LVal before evaluating lambda decl fields. (authored by zequanwu).
[AST] Update LVal before evaluating lambda decl fields.
Thu, Feb 4, 5:01 PM
zequanwu closed D96092: [AST] Update LVal before evaluating lambda decl fields..
Thu, Feb 4, 5:01 PM · Restricted Project
zequanwu added inline comments to D96092: [AST] Update LVal before evaluating lambda decl fields..
Thu, Feb 4, 4:48 PM · Restricted Project
zequanwu updated the diff for D96092: [AST] Update LVal before evaluating lambda decl fields..

Remove comment.

Thu, Feb 4, 4:48 PM · Restricted Project
zequanwu requested review of D96092: [AST] Update LVal before evaluating lambda decl fields..
Thu, Feb 4, 4:33 PM · Restricted Project

Wed, Feb 3

zequanwu requested review of D95987: [llvm-cov] Reset ExecutionCount only if first line segment is start of a new region..
Wed, Feb 3, 5:00 PM · Restricted Project, Restricted Project
zequanwu added a comment to D95918: [Coverage] Propogate counter to condition of conditional operator.
In D95918#2540367, @vsk wrote:

How was the issue spotted? If there was a crash or an incorrect coverage bug that's not triggered by one of the existing frontend tests, it'd be worth adding a regression test. If the problem can't be replicated without involving llvm-cov, this can be an integration test.

Wed, Feb 3, 3:18 PM · Restricted Project
zequanwu committed rG4dc08cc3aa41: [Coverage] Propogate counter to condition of conditional operator (authored by zequanwu).
[Coverage] Propogate counter to condition of conditional operator
Wed, Feb 3, 1:34 PM
zequanwu closed D95918: [Coverage] Propogate counter to condition of conditional operator.
Wed, Feb 3, 1:33 PM · Restricted Project
zequanwu added a comment to D95918: [Coverage] Propogate counter to condition of conditional operator.

I tested it locally. They are all passed.

Wed, Feb 3, 1:33 PM · Restricted Project

Tue, Feb 2

zequanwu requested review of D95918: [Coverage] Propogate counter to condition of conditional operator.
Tue, Feb 2, 8:54 PM · Restricted Project

Jan 25 2021

zequanwu added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

This change also breaks many chrome ToT bots(not just windows bot), example build: https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false

That requires an account to see.

Jan 25 2021, 10:11 AM · Restricted Project
zequanwu added a comment to D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes.

This change also breaks many chrome ToT bots(not just windows bot), example build: https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false

Jan 25 2021, 9:57 AM · Restricted Project

Jan 22 2021

zequanwu committed rG867bdfeff178: [InstCombine] remove incompatible attribute when simplifying some lib calls (authored by zequanwu).
[InstCombine] remove incompatible attribute when simplifying some lib calls
Jan 22 2021, 5:28 PM
zequanwu closed D95278: [InstCombine] remove incompatible attribute when simplifying some lib calls.
Jan 22 2021, 5:28 PM · Restricted Project
zequanwu updated the summary of D95278: [InstCombine] remove incompatible attribute when simplifying some lib calls.
Jan 22 2021, 5:18 PM · Restricted Project
zequanwu requested review of D95278: [InstCombine] remove incompatible attribute when simplifying some lib calls.
Jan 22 2021, 5:14 PM · Restricted Project

Jan 14 2021

zequanwu committed rG4fffbc150cca: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization. (authored by zequanwu).
[clang][MSVC] Fix missing MSInheritanceAttr in template specialization.
Jan 14 2021, 10:38 AM
zequanwu closed D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..
Jan 14 2021, 10:38 AM · Restricted Project
zequanwu updated the diff for D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..

Address comment.

Jan 14 2021, 10:04 AM · Restricted Project
zequanwu added inline comments to D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..
Jan 14 2021, 9:57 AM · Restricted Project
zequanwu updated the diff for D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..

Update test case.

Jan 14 2021, 9:56 AM · Restricted Project

Jan 13 2021

zequanwu added inline comments to D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..
Jan 13 2021, 7:18 PM · Restricted Project
zequanwu requested review of D94646: [clang][MSVC] Fix missing MSInheritanceAttr in template specialization..
Jan 13 2021, 7:15 PM · Restricted Project

Jan 12 2021

zequanwu committed rGe53bbd99516f: [IR] move nomerge attribute from function declaration/definition to callsites (authored by zequanwu).
[IR] move nomerge attribute from function declaration/definition to callsites
Jan 12 2021, 12:11 PM
zequanwu closed D94537: [IR] move nomerge attribute from function declaration/definition to callsites.
Jan 12 2021, 12:11 PM · Restricted Project
zequanwu requested review of D94537: [IR] move nomerge attribute from function declaration/definition to callsites.
Jan 12 2021, 11:24 AM · Restricted Project

Dec 17 2020

zequanwu committed rGfb0f7288051e: [Clang] Make nomerge attribute a function attribute as well as a statement… (authored by zequanwu).
[Clang] Make nomerge attribute a function attribute as well as a statement…
Dec 17 2020, 7:46 AM
zequanwu closed D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 17 2020, 7:46 AM · Restricted Project, Restricted Project

Dec 16 2020

zequanwu added inline comments to D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 16 2020, 5:36 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..

address comments.

Dec 16 2020, 5:35 PM · Restricted Project, Restricted Project

Dec 15 2020

zequanwu added inline comments to D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 15 2020, 5:01 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..

address comments.

Dec 15 2020, 5:01 PM · Restricted Project, Restricted Project

Dec 14 2020

zequanwu committed rGb6b522c4db17: [NFC] cleanup cg-profile emission on TargetLowerinng (authored by zequanwu).
[NFC] cleanup cg-profile emission on TargetLowerinng
Dec 14 2020, 1:08 PM
zequanwu closed D93150: [NFC] cleanup cg-profile emission on TargetLowerinng.
Dec 14 2020, 1:08 PM · Restricted Project
zequanwu updated the diff for D93150: [NFC] cleanup cg-profile emission on TargetLowerinng.

address comment.

Dec 14 2020, 1:07 PM · Restricted Project

Dec 11 2020

zequanwu requested review of D93150: [NFC] cleanup cg-profile emission on TargetLowerinng.
Dec 11 2020, 5:35 PM · Restricted Project
zequanwu abandoned D92623: [inliner] Apply nomerge attribute to all call sites inside inlined function..
Dec 11 2020, 12:49 PM · Restricted Project

Dec 10 2020

zequanwu added inline comments to D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 10 2020, 4:37 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..

Add docs.

Dec 10 2020, 4:37 PM · Restricted Project, Restricted Project
zequanwu added inline comments to D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 10 2020, 3:41 PM · Restricted Project, Restricted Project
zequanwu added inline comments to D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 10 2020, 3:39 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..

Add test for virutal function.

Dec 10 2020, 3:39 PM · Restricted Project, Restricted Project
zequanwu committed rGb5216b295049: [PGO] Enable preinline and cleanup when optimize for size (authored by zequanwu).
[PGO] Enable preinline and cleanup when optimize for size
Dec 10 2020, 12:30 PM
zequanwu closed D91673: [PGO] Enable preinline and cleanup when optimize for size.
Dec 10 2020, 12:29 PM · Restricted Project, Restricted Project

Dec 9 2020

zequanwu updated the summary of D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 9 2020, 9:17 PM · Restricted Project, Restricted Project
zequanwu retitled D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute. from [Clang] Add disable-merge function attribute which generates nomerge function attribute in IR to [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 9 2020, 9:16 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..

start a new diff to make nomerge attribute a function attribute as well as a statement attribute.

Dec 9 2020, 9:14 PM · Restricted Project, Restricted Project
zequanwu abandoned D92510: [lldb] set created function decl to public access in TypeSystemClang.

Adrian said he will work on this, so I abandoned this.

Dec 9 2020, 4:52 PM · Restricted Project
zequanwu updated the diff for D91673: [PGO] Enable preinline and cleanup when optimize for size.
  • fix existing failed testcase.
  • add new testcases for npm and lpm.
  • add comments.
Dec 9 2020, 12:45 PM · Restricted Project, Restricted Project

Dec 7 2020

zequanwu requested review of D92800: [Clang] Make nomerge attribute a function attribute as well as a statement attribute..
Dec 7 2020, 4:53 PM · Restricted Project, Restricted Project
zequanwu added a comment to D92623: [inliner] Apply nomerge attribute to all call sites inside inlined function..

According to: https://clang.llvm.org/docs/AttributeReference.html#nomerge, the existance of the attribute should prevent call site merging, so the change makes sense.
However, in the test example then, if there was branching and two @f calls inside @bar, it would be correct to merge the @f call sites (no attribute preventing that inside) when processing @bar. But after inlining, that's no longer allowed if the attribute is distributed to all callsites inside the function.
This is a contradiction that needs clarification from folks more familiar with the Inliner.

Dec 7 2020, 2:06 PM · Restricted Project

Dec 3 2020

zequanwu requested review of D92623: [inliner] Apply nomerge attribute to all call sites inside inlined function..
Dec 3 2020, 5:29 PM · Restricted Project

Dec 2 2020

zequanwu requested review of D92510: [lldb] set created function decl to public access in TypeSystemClang.
Dec 2 2020, 2:18 PM · Restricted Project

Dec 1 2020

zequanwu updated the diff for D91673: [PGO] Enable preinline and cleanup when optimize for size.
  • sync NPM with LPM.
  • use PreInlineThreshold flag value instead of hardcode number.
Dec 1 2020, 4:18 PM · Restricted Project, Restricted Project
zequanwu added a comment to D92349: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler.

@zequanwu In the future, please refrain from committing to libc++ or libc++abi unless you have approval of the libcxx or libcxxabi review group. There's a reason why that group is added as a "blocking reviewer", it's because you should wait for it to be green before proceeding.

Dec 1 2020, 10:31 AM · Restricted Project

Nov 30 2020

zequanwu committed rG871f96eed379: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler (authored by zequanwu).
[libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler
Nov 30 2020, 4:37 PM
zequanwu retitled D92349: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler from [libcxxabi] remove checks for __STDCPP_THREADS__ as it is defined by compiler to [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler.
Nov 30 2020, 4:37 PM · Restricted Project
zequanwu closed D92349: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler.
Nov 30 2020, 4:37 PM · Restricted Project
zequanwu updated the diff for D92349: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler.

address comment.

Nov 30 2020, 2:45 PM · Restricted Project
zequanwu added a comment to D91673: [PGO] Enable preinline and cleanup when optimize for size.
In D91673#2401578, @xur wrote:

This is probably OK for -Os (SizeLevel == 1), but we need to be careful with Oz (SizeLevel == 2).
We already know that enabling preinliner in general will reduce size -- as the preinliner is pretty conservative. But there will be cases size will be increased.

I would like more test results (like bootstrap clang) before committing.

Nov 30 2020, 2:27 PM · Restricted Project, Restricted Project
zequanwu requested review of D92349: [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler.
Nov 30 2020, 2:09 PM · Restricted Project
zequanwu added a comment to D91747: [Clang] Add __STDCPP_THREADS__ to standard predefine macros.
In D91747#2423960, @rnk wrote:

If we believe the standard says that the compiler is supposed to set __STDCPP_THREADS__, then I think the libc++ #error needs to be adjusted. libcxxabi, or any other client, should be able to define _LIBCPP_HAS_NO_THREADS, and it should work, even if the compiler thinks they are allowed.

Nov 30 2020, 1:37 PM · Restricted Project

Nov 22 2020

zequanwu committed rG15a3ae1ab1a6: [Clang] Add __STDCPP_THREADS__ to standard predefine macros (authored by zequanwu).
[Clang] Add __STDCPP_THREADS__ to standard predefine macros
Nov 22 2020, 4:06 PM