[PATCH] D132531: [AArch64] Reserve more physical registers

2022-08-24 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot abandoned this revision. Carrot added a comment. Thanks for the clarification, I will propose another patch for my purpose. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132531/new/ https://reviews.llvm.org/D132531 _

[PATCH] D132531: [AArch64] Reserve more physical registers

2022-08-24 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. I want to reserve most of the physical registers, so only a small number of registers can be used by register allocator. Then I can write small test cases to simulate high register pressure situation, it will be much easier to test and debug register allocation changes.

[PATCH] D132531: [AArch64] Reserve more physical registers

2022-08-24 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. A reserved physical register doesn't mean it can't be used by compiler/linker, it just means it can't be used by register allocator, see the comments in TargetRegisterInfo::getReservedRegs(). The most common example is the stack pointer. So when we reserve X8, X16, X17 a

[PATCH] D132531: [AArch64] Reserve more physical registers

2022-08-23 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot created this revision. Carrot added a reviewer: dmgreen. Herald added subscribers: hiraditya, kristof.beyls. Herald added a project: All. Carrot requested review of this revision. Herald added subscribers: llvm-commits, cfe-commits, MaskRay. Herald added projects: clang, LLVM. Reserved phys

[PATCH] D104099: [NewPM] Remove SpeculateAroundPHIs pass

2021-12-09 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. I'm trying to understand the problem in this pass. It looks both of @thopre's and @lebedev.ri's problems are loop related. Is there any other regression not loop related? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104099/

[PATCH] D104099: [NewPM] Remove SpeculateAroundPHIs pass

2021-12-06 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. Finally complain comes. It slows down a hot path in tcmalloc. A simplified test case is at https://godbolt.org/z/T6sshjf7M Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104099/new/ https://reviews.llvm.org/D104099 ___

[PATCH] D38820: [CGExprScalar] Add missing types in function GetIntrinsic

2017-10-19 Thread Guozhi Wei via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316179: [CGExprScalar] Add missing types in function GetIntrinsic (authored by Carrot). Changed prior to commit: https://reviews.llvm.org/D38820?vs=118680&id=119613#toc Repository: rL LLVM https://r

[PATCH] D38820: [CGExprScalar] Add missing types in function GetIntrinsic

2017-10-18 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. ping https://reviews.llvm.org/D38820 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38820: [CGExprScalar] Add missing types in function GetIntrinsic

2017-10-11 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot created this revision. In function GetIntrinsic, not all types are covered. Types double and long long are missed, type long is wrongly treated same as int, it should be same as long long. These problems cause compiler crashes when compiling code in PR31161. This patch fixed the problem.

[PATCH] D38656: [CGExprScalar] In EmitCompare trunc the result if it has different type as E->getType()

2017-10-10 Thread Guozhi Wei via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315358: [CGExprScalar] In EmitCompare trunc the result if it has different type as E… (authored by Carrot). Changed prior to commit: https://reviews.llvm.org/D38656?vs=118236&id=118464#toc Repository:

[PATCH] D38656: [CGExprScalar] In EmitCompare trunc the result if it has different type as E->getType()

2017-10-10 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. In https://reviews.llvm.org/D38656#892740, @nemanjai wrote: > In https://reviews.llvm.org/D38656#892072, @Carrot wrote: > > > I worked on a similar bug as 31161, and then found this one, it should be > > same as in comment7. > > What is the current status of the work on

[PATCH] D38656: [CGExprScalar] In EmitCompare trunc the result if it has different type as E->getType()

2017-10-09 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot updated this revision to Diff 118236. Carrot marked 3 inline comments as done. https://reviews.llvm.org/D38656 Files: lib/CodeGen/CGExprScalar.cpp test/CodeGen/ppc-vector-compare.cc Index: test/CodeGen/ppc-vector-compare.cc

[PATCH] D38656: [CGExprScalar] In EmitCompare trunc the result if it has different type as E->getType()

2017-10-09 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot added a comment. I worked on a similar bug as 31161, and then found this one, it should be same as in comment7. What is the current status of the work on that bug? https://reviews.llvm.org/D38656 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D38656: [CGExprScalar] In EmitCompare trunc the result if it has different type as E->getType()

2017-10-06 Thread Guozhi Wei via Phabricator via cfe-commits
Carrot created this revision. Herald added a subscriber: nemanjai. Usually compare expression should return i1 type, so EmitScalarConversion is called before return return EmitScalarConversion(Result, CGF.getContext().BoolTy, E->getType(), E->getExprLoc()); But when ppc intrinsic is called t