Page MenuHomePhabricator

pzheng (Pengxuan Zheng)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 7 2016, 1:53 PM (236 w, 3 d)

Recent Activity

Sun, May 30

pzheng committed rG056733d0195b: [SafeStack] Use proper API to get stack guard (authored by pzheng).
[SafeStack] Use proper API to get stack guard
Sun, May 30, 12:54 AM
pzheng closed D102646: [SafeStack] Use proper API to get stack guard.
Sun, May 30, 12:54 AM · Restricted Project

Mon, May 24

pzheng added a comment to D102646: [SafeStack] Use proper API to get stack guard.

Any more comments? I'll probably wait a few more days before committing the change in case anyone hasn't got a chance to review.

Mon, May 24, 12:15 PM · Restricted Project

May 18 2021

pzheng added a reviewer for D102646: [SafeStack] Use proper API to get stack guard: pcc.
May 18 2021, 2:12 PM · Restricted Project

May 17 2021

pzheng requested review of D102646: [SafeStack] Use proper API to get stack guard.
May 17 2021, 12:27 PM · Restricted Project

May 15 2021

pzheng committed rGc9b36a041fd7: Support GCC's -fstack-usage flag (authored by pzheng).
Support GCC's -fstack-usage flag
May 15 2021, 10:23 AM
pzheng closed D100509: Support GCC's -fstack-usage flag.
May 15 2021, 10:23 AM · Restricted Project, Restricted Project

May 14 2021

pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

Thanks for all the feedbacks, @MaskRay! I will wait another day before committing the change.

May 14 2021, 10:53 AM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Address new comments from @MaskRay.

May 14 2021, 10:49 AM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Address @MaskRay's comments.

May 14 2021, 9:44 AM · Restricted Project, Restricted Project

May 10 2021

pzheng added inline comments to D100509: Support GCC's -fstack-usage flag.
May 10 2021, 11:59 AM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Address a few more comments from @MaskRay.

May 10 2021, 11:55 AM · Restricted Project, Restricted Project

May 7 2021

pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Minor update to some comments.

May 7 2021, 6:34 PM · Restricted Project, Restricted Project
pzheng added inline comments to D100509: Support GCC's -fstack-usage flag.
May 7 2021, 6:21 PM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Addess @MaskRay's comments

May 7 2021, 6:18 PM · Restricted Project, Restricted Project

Apr 19 2021

pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Add missing comments. Thanks for spotting it, @xbolva00.

Apr 19 2021, 10:23 AM · Restricted Project, Restricted Project

Apr 16 2021

pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

Thanks for all the great feedbacks, @jansvoboda11, @xbolva00 and @lebedev.ri! Is there any other concern that needs to be addressed?

Apr 16 2021, 12:06 PM · Restricted Project, Restricted Project

Apr 15 2021

pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

I checked some of the functions in zstd where gcc outputs "dynamic,bounded", but did not find any straightforward way to simplify them into standalone tests. If anyone happen to have a simple test case, I would be more than happy to add here.

Apr 15 2021, 5:27 PM · Restricted Project, Restricted Project
pzheng added a comment to D100509: Support GCC's -fstack-usage flag.
Set current_function_has_unbounded_dynamic_stack_size to 1 when pushing a variable-sized argument onto the stack. 

      if (current_function_has_unbounded_dynamic_stack_size)
	stack_usage_kind = DYNAMIC;
      else
	stack_usage_kind = DYNAMIC_BOUNDED;

https://github.com/gcc-mirror/gcc/commit/d3c12306971946ab9a9d644ddf7b26e9383d2391

You can compile eg. zstd project with "CC="gcc -fstack-usage" make -j6 -B" and then grep "bounded" . -R and you will find some examples of dynamic,bounded.

Apr 15 2021, 12:14 PM · Restricted Project, Restricted Project
pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

<source_file>:<line_number>:<function_name> <size_in_byte> <static/dynamic>

gcc also supports "bounded" - do you plan to somehow handle it? (https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html#Developer-Options), eg: parser.c:918:5:parse_statement 48 dynamic,bounded

Apr 15 2021, 10:32 AM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Mention the flag in release notes based on @xbolva00's comment.

Apr 15 2021, 9:51 AM · Restricted Project, Restricted Project
pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

Thanks for your feedback, @jansvoboda11!

Apr 15 2021, 8:30 AM · Restricted Project, Restricted Project
pzheng updated the diff for D100509: Support GCC's -fstack-usage flag.

Address @jansvoboda11's comments.

Apr 15 2021, 8:28 AM · Restricted Project, Restricted Project

Apr 14 2021

pzheng added a comment to D100509: Support GCC's -fstack-usage flag.

Might you be interested in implementing [[ https://bugs.llvm.org/show_bug.cgi?id=44418 | -Wstack-usage= ]] diag as a follow-up?

Apr 14 2021, 2:17 PM · Restricted Project, Restricted Project
pzheng requested review of D100509: Support GCC's -fstack-usage flag.
Apr 14 2021, 2:03 PM · Restricted Project, Restricted Project

Feb 18 2021

pzheng added a reverting change for rGd9645059c5de: [AArch64] Adding Neon Polynomial vadd Intrinsics: rG0ec32f132643: Revert "[AArch64] Adding Neon Polynomial vadd Intrinsics".
Feb 18 2021, 12:39 PM
pzheng committed rG0ec32f132643: Revert "[AArch64] Adding Neon Polynomial vadd Intrinsics" (authored by pzheng).
Revert "[AArch64] Adding Neon Polynomial vadd Intrinsics"
Feb 18 2021, 12:39 PM
pzheng added a reverting change for D96825: [AArch64] Adding Neon Polynomial vadd Intrinsics: rG0ec32f132643: Revert "[AArch64] Adding Neon Polynomial vadd Intrinsics".
Feb 18 2021, 12:39 PM · Restricted Project
pzheng committed rGd9645059c5de: [AArch64] Adding Neon Polynomial vadd Intrinsics (authored by pzheng).
[AArch64] Adding Neon Polynomial vadd Intrinsics
Feb 18 2021, 11:34 AM
pzheng closed D96825: [AArch64] Adding Neon Polynomial vadd Intrinsics.
Feb 18 2021, 11:34 AM · Restricted Project

Feb 11 2021

pzheng committed rG61cca0f2e5bb: [AArch64] Adding Neon Sm3 & Sm4 Intrinsics (authored by pzheng).
[AArch64] Adding Neon Sm3 & Sm4 Intrinsics
Feb 11 2021, 2:21 PM
pzheng closed D95655: [AArch64] Adding Neon Sm3 & Sm4 Intrinsics.
Feb 11 2021, 2:21 PM · Restricted Project, Restricted Project

Dec 18 2020

pzheng added a comment to D89896: Add loop distribution to the LTO pipeline.

Hi, our flags are "-Ofast -flto -mcpu=native -fomit-frame-pointer", where "native" is a Neoverse-N1 system. Let me know if that helps.

Dec 18 2020, 4:47 PM · Restricted Project

Nov 25 2020

pzheng added a comment to D92057: [libc++] Do not include sysctl.h when building with musl libc.

Thanks, @ldionne! D92135 does also fix the issue.

Nov 25 2020, 2:11 PM · Restricted Project
pzheng added a comment to D92057: [libc++] Do not include sysctl.h when building with musl libc.

The issue here is that the header file "sysctl.h" uses some macros (BEGIN_DECLS/END_DECLS) which are only defined by glibc and not by musl libc (refer to https://wiki.musl-libc.org/faq.html). Therefore, when we build with musl libc, we are seeing the following build failures.

Nov 25 2020, 12:58 PM · Restricted Project

Nov 24 2020

pzheng requested review of D92057: [libc++] Do not include sysctl.h when building with musl libc.
Nov 24 2020, 1:48 PM · Restricted Project

Sep 21 2020

pzheng committed rGe5fea37f1a2a: [Hexagon] Make HexagonVLCR compatibile with New PM (authored by pzheng).
[Hexagon] Make HexagonVLCR compatibile with New PM
Sep 21 2020, 1:45 PM
pzheng closed D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.
Sep 21 2020, 1:45 PM · Restricted Project

Sep 20 2020

pzheng committed rGdeb00cf0b5ab: [Polly][NewPM] Port Simplify to the new pass manager (authored by pzheng).
[Polly][NewPM] Port Simplify to the new pass manager
Sep 20 2020, 7:18 PM
pzheng closed D87328: [Polly][NewPM] Port Simplify to the new pass manager.
Sep 20 2020, 7:18 PM · Restricted Project
pzheng added a comment to D87328: [Polly][NewPM] Port Simplify to the new pass manager.

LGTM

A single test test file would be enough to check that the new pass manager pipeline is working. Checking all tests with both pass manager doubles the execution time for check-polly without improving test coverage. There are not too many tests for the simplify pass, but please consider testing it only once with the scalability tests, as these take the most time.

Sep 20 2020, 7:05 PM · Restricted Project

Sep 19 2020

pzheng updated the diff for D87328: [Polly][NewPM] Port Simplify to the new pass manager.

minor update to a test

Sep 19 2020, 1:05 PM · Restricted Project
pzheng updated the diff for D87328: [Polly][NewPM] Port Simplify to the new pass manager.

Thanks for reviewing the patch, @Meinersbur!

Sep 19 2020, 12:59 PM · Restricted Project

Sep 18 2020

pzheng accepted D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.
Sep 18 2020, 5:02 PM · Restricted Project
pzheng added a comment to D80465: [RISCV-V] Provide muldi3 builtins for riscv.

I noticed that this patch (along with D86036) caused a compiler-rt test to fail for riscv64 when M extension is enabled.
compiler-rt/test/builtins/Unit/muldi3_test.c:11: undefined reference to `muldi3'
Basically, with this patch,
muldi3 is no longer defined anymore for riscv64 when M extension is enabled. Any suggestion on how this should be fixed?

That is fixed by my patch in D86457. (It hasn't yet been approved after I addressed some initial review comments, but I think it's now in good shape to land).

Sep 18 2020, 4:06 PM · Restricted Project
pzheng added a comment to D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.

Is there any existing test case for this pass with the legacy pass manager? If so, you might want to add one with the new pass manager too.

All the existing testcases use opt to run the pass. The pass is not run integrated in the main list of passes for any -Ox level.

That's what I meant. For each legacy pass manager test "RUN: opt -hexagon-vlcr ...", you can add a corresponding new pass manager test "RUN: opt -passes=hexagon-vlcr". This way, we will have the same test coverage with both the legacy and new pass managers.

Hi pzheng, I could not figure out a way to register a target specific pass in opt? I can see that llvm/lib/Passes/PassRegistry.def is the registry for target independent passes. Can you point me to an example/API which can help me in registering this pass so that I can use it -passes option in opt?

I am not sure if there is a better place to register the pass other than PassRegistry.def. Maybe someone who knows can comment on this.

Hi pzheng, testing target specific passes using opt+NPM is not currently supported and the work is still work-in-progress. Can we land this without modifying the testcases for now?

Sep 18 2020, 4:03 PM · Restricted Project
pzheng added a comment to D80465: [RISCV-V] Provide muldi3 builtins for riscv.

I noticed that this patch (along with D86036) caused a compiler-rt test to fail for riscv64 when M extension is enabled.

Sep 18 2020, 3:58 PM · Restricted Project

Sep 15 2020

pzheng added a comment to D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.

Is there any existing test case for this pass with the legacy pass manager? If so, you might want to add one with the new pass manager too.

All the existing testcases use opt to run the pass. The pass is not run integrated in the main list of passes for any -Ox level.

That's what I meant. For each legacy pass manager test "RUN: opt -hexagon-vlcr ...", you can add a corresponding new pass manager test "RUN: opt -passes=hexagon-vlcr". This way, we will have the same test coverage with both the legacy and new pass managers.

Hi pzheng, I could not figure out a way to register a target specific pass in opt? I can see that llvm/lib/Passes/PassRegistry.def is the registry for target independent passes. Can you point me to an example/API which can help me in registering this pass so that I can use it -passes option in opt?

Sep 15 2020, 11:42 AM · Restricted Project

Sep 10 2020

pzheng added a reviewer for D87328: [Polly][NewPM] Port Simplify to the new pass manager: chrisj.
Sep 10 2020, 1:28 PM · Restricted Project

Sep 9 2020

pzheng added a reviewer for D87328: [Polly][NewPM] Port Simplify to the new pass manager: philip.pfaffe.
Sep 9 2020, 11:25 AM · Restricted Project

Sep 8 2020

pzheng requested review of D87328: [Polly][NewPM] Port Simplify to the new pass manager.
Sep 8 2020, 2:16 PM · Restricted Project
pzheng added a comment to D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.

Is there any existing test case for this pass with the legacy pass manager? If so, you might want to add one with the new pass manager too.

All the existing testcases use opt to run the pass. The pass is not run integrated in the main list of passes for any -Ox level.

Sep 8 2020, 11:24 AM · Restricted Project
pzheng added a comment to D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.

Is there any existing test case for this pass with the legacy pass manager? If so, you might want to add one with the new pass manager too.

Sep 8 2020, 11:01 AM · Restricted Project

Sep 4 2020

pzheng added a comment to D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC.

LGTM.

It's probably not used very common, but we do have some baremetal use cases still relying on these flags to be propagated to GCC.

Thanks for the explanation! (Though I think in these cases calling ld or ld.lld directly might be better?)

And apologies about the friction but I hope the current behavior is better than the previous whether many unrelated options can be forwarded and many can cause warnings on GCC side.

Sep 4 2020, 3:27 PM · Restricted Project
pzheng committed rG2bccd2b4350f: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC (authored by pzheng).
[Driver] Allow -specs and -nostartfiles to be forwarded to GCC
Sep 4 2020, 3:10 PM
pzheng closed D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC.
Sep 4 2020, 3:10 PM · Restricted Project
pzheng updated the diff for D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC.

Updated the test case.

Sep 4 2020, 3:07 PM · Restricted Project
pzheng added a comment to D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC.

Can D83648 be closed now?

Sep 4 2020, 3:06 PM · Restricted Project
pzheng abandoned D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption.
Sep 4 2020, 3:01 PM · Restricted Project
pzheng added a reviewer for D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC: efriedma.
Sep 4 2020, 2:04 PM · Restricted Project
pzheng requested review of D87162: [Driver] Allow -specs and -nostartfiles to be forwarded to GCC.
Sep 4 2020, 2:03 PM · Restricted Project

Sep 1 2020

pzheng added a comment to D86955: [Hexagon] Make HexagonVLCR compatibile with New PM.

Is there any test case for this pass? Please also run clang-format.

Sep 1 2020, 4:51 PM · Restricted Project

Aug 4 2020

pzheng accepted D85067: [RISCV] Enable the use of the old mucounteren name.

LGTM

Aug 4 2020, 7:49 AM · Restricted Project

Aug 3 2020

pzheng added a comment to D85067: [RISCV] Enable the use of the old mucounteren name.

LGTM, thanks for rebasing the patch, @mmxsrup!

Aug 3 2020, 8:18 AM · Restricted Project

Aug 2 2020

pzheng requested changes to D85067: [RISCV] Enable the use of the old mucounteren name.

The mcountinhibit CSR has already been added in d36f2c6a6c4b. Looks like the patch needs to be rebased?

Aug 2 2020, 10:07 AM · Restricted Project

Jul 15 2020

pzheng updated the diff for D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption.

Add target triple used in test

Jul 15 2020, 7:37 PM · Restricted Project
pzheng added a comment to D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption.

Created http://lists.llvm.org/pipermail/cfe-dev/2020-July/066245.html [cfe-dev] Usage of clang::driver::options::DriverOption (-Xarch_ & gcc toolchain)
to ask about the use case.

When I get time, I'll work on a patch fixing the whole class of options instead of just -fintegrated-as. I will use OPT_Link_Group and add some extra options in the new group: GCCLinkOption.

Jul 15 2020, 7:31 PM · Restricted Project

Jul 12 2020

pzheng updated the diff for D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption.

Add a test case.

Jul 12 2020, 7:37 PM · Restricted Project
pzheng added a comment to D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption.

Actually, this patch won't change --help because it just reduced some duplication by extracting the common part (" the integrated assembler") of the help message into the "help" of "OptOutFFlag". Sorry for the confusion.

Jul 12 2020, 6:27 PM · Restricted Project
pzheng added a reviewer for D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption: apazos.
Jul 12 2020, 4:18 PM · Restricted Project
Herald added a project to D83648: [Driver] Fix integrated_as definition by setting it as a DriverOption: Restricted Project.
Jul 12 2020, 4:17 PM · Restricted Project

Jul 1 2020

pzheng committed rGd36f2c6a6c4b: [RISCV] Add mcountinhibit CSR (authored by pzheng).
[RISCV] Add mcountinhibit CSR
Jul 1 2020, 8:38 AM
pzheng closed D82913: [RISCV] Add mcountinhibit CSR.
Jul 1 2020, 8:38 AM · Restricted Project

Jun 30 2020

pzheng created D82913: [RISCV] Add mcountinhibit CSR.
Jun 30 2020, 2:41 PM · Restricted Project

May 22 2020

pzheng committed rG22ed724975d2: [RISCV] Register null target streamer for RISC-V (authored by pzheng).
[RISCV] Register null target streamer for RISC-V
May 22 2020, 9:39 AM
pzheng closed D80352: [RISCV] Register null target streamer for RISC-V.
May 22 2020, 9:39 AM · Restricted Project
pzheng added a comment to D80352: [RISCV] Register null target streamer for RISC-V.

Thanks for reviewing, @HsiangKai.

May 22 2020, 9:38 AM · Restricted Project

May 21 2020

pzheng updated the diff for D80352: [RISCV] Register null target streamer for RISC-V.

Rebase and clang-format

May 21 2020, 8:03 AM · Restricted Project

May 20 2020

pzheng created D80352: [RISCV] Register null target streamer for RISC-V.
May 20 2020, 7:20 PM · Restricted Project

May 5 2020

pzheng committed rG85aff8a4e49d: [RISCV] Update debug scratch register names (authored by pzheng).
[RISCV] Update debug scratch register names
May 5 2020, 9:09 AM
pzheng closed D78764: [RISCV] Update debug scratch register names.
May 5 2020, 9:08 AM · Restricted Project
pzheng updated the diff for D78764: [RISCV] Update debug scratch register names.

Good catch. Thanks for reviewing, @asb.

May 5 2020, 9:08 AM · Restricted Project

May 4 2020

pzheng updated the diff for D78764: [RISCV] Update debug scratch register names.

Address @asb's comments

May 4 2020, 9:05 AM · Restricted Project

Apr 24 2020

pzheng committed rG79702dd349f3: [RISCV] Add instruction definition for dret (authored by pzheng).
[RISCV] Add instruction definition for dret
Apr 24 2020, 1:33 PM
pzheng closed D78583: [RISCV] Add instruction definition for dret.
Apr 24 2020, 1:33 PM · Restricted Project
pzheng updated the diff for D78764: [RISCV] Update debug scratch register names.

Moving debug mode registers to a new test file

Apr 24 2020, 12:26 PM · Restricted Project

Apr 23 2020

pzheng updated the diff for D78764: [RISCV] Update debug scratch register names.

Addressing comments

Apr 23 2020, 8:06 PM · Restricted Project
pzheng created D78764: [RISCV] Update debug scratch register names.
Apr 23 2020, 3:15 PM · Restricted Project
pzheng updated the diff for D78583: [RISCV] Add instruction definition for dret.

Reverted changes in priv-valid.s

Apr 23 2020, 11:52 AM · Restricted Project
pzheng updated the diff for D78583: [RISCV] Add instruction definition for dret.

Addressing comments

Apr 23 2020, 11:23 AM · Restricted Project

Apr 21 2020

pzheng created D78583: [RISCV] Add instruction definition for dret.
Apr 21 2020, 1:33 PM · Restricted Project

Mar 23 2020

pzheng abandoned D76632: [libc++] Do not use futex if LIBCXX_HAS_MUSL_LIBC is ON.

The build actually fails because of "#include <linux/futex.h>". Musl does not have this header file and the build fails with a missing header file error.

Maybe that header is supposed to come from the kernel and not the C library.

Mar 23 2020, 3:48 PM · Restricted Project
pzheng added a comment to D76632: [libc++] Do not use futex if LIBCXX_HAS_MUSL_LIBC is ON.

The build actually fails because of "#include <linux/futex.h>". Musl does not have this header file and the build fails with a missing header file error.

Mar 23 2020, 1:38 PM · Restricted Project
pzheng added reviewers for D76632: [libc++] Do not use futex if LIBCXX_HAS_MUSL_LIBC is ON: __simt__, apazos, bcain, sidneym.
Mar 23 2020, 11:28 AM · Restricted Project
pzheng created D76632: [libc++] Do not use futex if LIBCXX_HAS_MUSL_LIBC is ON.
Mar 23 2020, 11:27 AM · Restricted Project

Feb 19 2020

pzheng added inline comments to D74023: [RISCV] ELF attribute section for RISC-V.
Feb 19 2020, 4:42 PM · Restricted Project, Restricted Project

Feb 18 2020

pzheng added inline comments to D74023: [RISCV] ELF attribute section for RISC-V.
Feb 18 2020, 4:03 PM · Restricted Project, Restricted Project
pzheng added a reviewer for D74023: [RISCV] ELF attribute section for RISC-V: pzheng.
Feb 18 2020, 3:15 PM · Restricted Project, Restricted Project

Jan 13 2020

pzheng added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Fix .cfi_offset signedness error.

Jan 13 2020, 2:48 PM · Restricted Project, Restricted Project

Jan 10 2020

pzheng added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

I see the following .cfi_offset directives generated using @shiva0217's test case. Any idea why the offset for ra is 536870908?

Jan 10 2020, 3:48 PM · Restricted Project, Restricted Project