[Lldb-commits] [PATCH] D148099: [lldb] Reduce chances of spurious failures in some build setups

2023-04-12 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

In D148099#4260897 , @DavidSpickett 
wrote:

> Looks good to me.

Thanks for the prompt and helpful review!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148099/new/

https://reviews.llvm.org/D148099

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D148099: [lldb] Reduce chances of spurious failures in some build setups

2023-04-12 Thread Alexander Kornienko via Phabricator via lldb-commits
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGca7a20df1082: [lldb] Reduce chances of spurious failures in 
some build setups (authored by alexfh).

Changed prior to commit:
  https://reviews.llvm.org/D148099?vs=512748=512767#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148099/new/

https://reviews.llvm.org/D148099

Files:
  lldb/test/Shell/Commands/command-stop-hook-no-target.test


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,5 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
 # RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o 
"expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 95126
+# CHECK-NOT: (lldb) expression 95000 + 126
+# CHECK-NOT: (int) $0 = 95126


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,5 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
 # RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o "expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 95126
+# CHECK-NOT: (lldb) expression 95000 + 126
+# CHECK-NOT: (int) $0 = 95126
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D148099: [lldb] Reduce chances of spurious failures in some build setups

2023-04-12 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh updated this revision to Diff 512748.
alexfh added a comment.

Use full expressions in the CHECK-NOT.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148099/new/

https://reviews.llvm.org/D148099

Files:
  lldb/test/Shell/Commands/command-stop-hook-no-target.test


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,5 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
-# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o 
"expression 473895000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck 
%s
+# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o 
"expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 473895126
+# CHECK-NOT: (lldb) expression 95000 + 126
+# CHECK-NOT: (int) $0 = 95126


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,5 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
-# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o "expression 473895000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
+# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o "expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 473895126
+# CHECK-NOT: (lldb) expression 95000 + 126
+# CHECK-NOT: (int) $0 = 95126
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D148099: [lldb] Reduce chances of spurious failures in some build setups

2023-04-12 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh created this revision.
alexfh added reviewers: JDevlieghere, rupprecht, brooksmoses.
Herald added a project: All.
alexfh requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

The test may fail when running from a directory that contains the string used in
CHECK-NOT. We observe flakiness rate of around 3/10. Increasing the length
helps reducing the rate of failures.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D148099

Files:
  lldb/test/Shell/Commands/command-stop-hook-no-target.test


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,4 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
-# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o 
"expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
+# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o 
"expression 473895000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck 
%s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 95126
+# CHECK-NOT: 473895126


Index: lldb/test/Shell/Commands/command-stop-hook-no-target.test
===
--- lldb/test/Shell/Commands/command-stop-hook-no-target.test
+++ lldb/test/Shell/Commands/command-stop-hook-no-target.test
@@ -1,4 +1,4 @@
 # RUN: %clang_host -g %S/Inputs/main.c -o %t
-# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o "expression 95000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
+# RUN: %lldb -b -o 'target stop-hook add --name test --shlib test -o "expression 473895000 + 126"' -o 'file %t' -o 'b main' -o 'r' 2>&1 | FileCheck %s
 # CHECK: Stop hook #1 added
-# CHECK-NOT: 95126
+# CHECK-NOT: 473895126
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D114111: Remove a useless temporary of a base class type.

2022-12-03 Thread Alexander Kornienko via Phabricator via lldb-commits
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGc95922c71797: Remove a useless temporary of a base class 
type. (authored by alexfh).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114111/new/

https://reviews.llvm.org/D114111

Files:
  
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp


Index: 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();


Index: lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D114111: Remove a useless temporary of a base class type.

2022-12-03 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh updated this revision to Diff 479873.
alexfh added a comment.
Herald added a subscriber: Michael137.
Herald added a project: All.

Rebased.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114111/new/

https://reviews.llvm.org/D114111

Files:
  
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp


Index: 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();


Index: lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D136565: [clang] Instantiate alias templates with sugar

2022-11-18 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

And another problem with this patch: there's another pattern (or multiple 
different patterns?) in the code, that result in around 3x clang memory usage 
increase after this patch. The result of `-print-stats` doesn't make it clear 
where the additional allocations come from:

  --- at_culprit2022-11-10 13:16:52.0 +0100
  +++ before_culprit2022-11-10 13:21:44.0 +0100
  @@ -1,340 +1,338 @@
  -
   STATISTICS:
   
   *** Semantic Analysis Stats:
   0 SFINAE diagnostics trapped.
   
   Number of memory regions: 600
   Bytes used: 13579328
   Bytes allocated: 13631488
   Bytes wasted: 52160 (includes alignment, etc)
   
   *** Analysis Based Warnings Stats:
   168155 functions analyzed (0 w/o CFGs).
 697398 CFG blocks built.
 4 average CFG blocks per function.
 503 max CFG blocks per function.
   0 functions analyzed for uninitialiazed variables
 0 variables analyzed.
 0 average variables per function.
 0 max variables per function.
 0 block visits.
 0 average block visits per function.
 0 max block visits per function.
   
   *** AST Context Stats:
  -  19535407 types total.
  +  19808684 types total.
   30 Decayed types, 48 each (1440 bytes)
   585 ConstantArray types, 56 each (32760 bytes)
   2792 DependentSizedArray types, 64 each (178688 bytes)
  -96 IncompleteArray types, 40 each (3840 bytes)
  +90 IncompleteArray types, 40 each (3600 bytes)
   38 Atomic types, 40 each (1520 bytes)
   32 Attributed types, 48 each (1536 bytes)
   62 Builtin types, 24 each (1488 bytes)
   1 Complex types, 40 each (40 bytes)
   64274 Decltype types, 40 each (2570960 bytes)
   17491 Auto types, 48 each (839568 bytes)
   114 DeducedTemplateSpecialization types, 48 each (5472 bytes)
  -798961 DependentName types, 48 each (38350128 bytes)
  -527 DependentTemplateSpecialization types, 48 each (25296 bytes)
  -5241210 Elaborated types, 48 each (251578080 bytes)
  -588059 FunctionProto types, 40 each (23522360 bytes)
  +798160 DependentName types, 48 each (38311680 bytes)
  +467 DependentTemplateSpecialization types, 48 each (22416 bytes)
  +4735944 Elaborated types, 48 each (227325312 bytes)
  +585169 FunctionProto types, 40 each (23406760 bytes)
   5631 InjectedClassName types, 40 each (225240 bytes)
   4684 MemberPointer types, 48 each (224832 bytes)
   2 ObjCObjectPointer types, 40 each (80 bytes)
   2 ObjCObject types, 40 each (80 bytes)
   1 ObjCInterface types, 48 each (48 bytes)
  -30517 PackExpansion types, 40 each (1220680 bytes)
  -2700 Paren types, 40 each (108000 bytes)
  -393866 Pointer types, 40 each (15754640 bytes)
  -208529 LValueReference types, 40 each (8341160 bytes)
  -176267 RValueReference types, 40 each (7050680 bytes)
  -814 SubstTemplateTypeParmPack types, 48 each (39072 bytes)
  -3432531 SubstTemplateTypeParm types, 40 each (137301240 bytes)
  +30567 PackExpansion types, 40 each (1222680 bytes)
  +2694 Paren types, 40 each (107760 bytes)
  +395432 Pointer types, 40 each (15817280 bytes)
  +207973 LValueReference types, 40 each (8318920 bytes)
  +178946 RValueReference types, 40 each (7157840 bytes)
  +764 SubstTemplateTypeParmPack types, 48 each (36672 bytes)
  +4213429 SubstTemplateTypeParm types, 40 each (168537160 bytes)
   1596 Enum types, 32 each (51072 bytes)
   577336 Record types, 32 each (18474752 bytes)
   5892736 TemplateSpecialization types, 40 each (235709440 bytes)
   1776985 TemplateTypeParm types, 40 each (71079400 bytes)
   2 TypeOfExpr types, 32 each (64 bytes)
   188177 Typedef types, 40 each (7527080 bytes)
   124634 UnaryTransform types, 48 each (5982432 bytes)
  -4068 Using types, 40 each (162720 bytes)
  +1787 Using types, 40 each (71480 bytes)
   57 Vector types, 40 each (2280 bytes)
  -Total bytes = 826368168
  +Total bytes = 833249832
   5151/505661 implicit default constructors created
   21741/525877 implicit copy constructors created
   18531/522651 implicit move constructors created
   9247/526033 implicit copy assignment operators created
   5875/517861 implicit move assignment operators created
   23158/524964 implicit destructors created
   
  -Number of memory regions: 1846
  -Bytes used: 11780764491
  -Bytes allocated: 12214755831
  -Bytes wasted: 433991340 (includes alignment, etc)
  +Number of memory regions: 1697
  +Bytes used: 4995782175
  +Bytes allocated: 5403406263
  +Bytes wasted: 407624088 (includes alignment, etc)
   
   *** Decl Stats:
 4825242 decls total.
   21328 AccessSpec decls, 40 each (853120 bytes)
   2 Empty decls, 40 each (80 bytes)
   1 ExternCContext decls, 72 each (72 bytes)
   4 FileScopeAsm decls, 56 each (224 bytes)
   7779 Friend decls, 64 each (497856 bytes)
   6 LifetimeExtendedTemporary decls, 72 each (432 bytes)
   1721 

[Lldb-commits] [PATCH] D136565: [clang] Instantiate alias templates with sugar

2022-11-08 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

In D136565#3913932 , @mizvekov wrote:

> @alexfh Thanks!
>
> While there is a huge increase in the amount of UsingTypes, it seems the 
> total amount is still reasonable and does not explain the perf hit.
>
> Perhaps this is a case of bad hashing and they are all falling into the same 
> bucket?
>
> cc @sam.mcall for awareness of UsingType issue.
> It may be some very simple problem, I just can't even look at the code right 
> now.

I've reduced the test case to an initializer with a few thousand std::variant 
elements (F25231339: q2.cc ), which is 
compiled around 2 times slower with the clang with this patch vs clang before 
the patch:

  $ ../clang-base -fsyntax-only q2.cc  -ftime-report ; ../clang-exp 
-fsyntax-only q2.cc  -ftime-report
  
===-===
Clang front-end time report
  
===-===
Total Execution Time: 7.4495 seconds (7.4498 wall clock)
  
 ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
 7.2215 (100.0%)   0.2280 (100.0%)   7.4495 (100.0%)   7.4498 (100.0%)  
Clang front-end timer
 7.2215 (100.0%)   0.2280 (100.0%)   7.4495 (100.0%)   7.4498 (100.0%)  
Total
  
  
===-===
Clang front-end time report
  
===-===
Total Execution Time: 13.7677 seconds (13.7686 wall clock)
  
 ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
13.5666 (100.0%)   0.2011 (100.0%)  13.7677 (100.0%)  13.7686 (100.0%)  
Clang front-end timer
13.5666 (100.0%)   0.2011 (100.0%)  13.7677 (100.0%)  13.7686 (100.0%)  
Total

When I duplicate the number of array elements, the parsing time after the patch 
grows by a larger factor:

  $ ../clang-base -fsyntax-only q2.cc  -ftime-report ; ../clang-exp 
-fsyntax-only q2.cc  -ftime-report
  
===-===
Clang front-end time report
  
===-===
Total Execution Time: 14.1165 seconds (14.1173 wall clock)
  
 ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
13.7642 (100.0%)   0.3523 (100.0%)  14.1165 (100.0%)  14.1173 (100.0%)  
Clang front-end timer
13.7642 (100.0%)   0.3523 (100.0%)  14.1165 (100.0%)  14.1173 (100.0%)  
Total
  
  
===-===
Clang front-end time report
  
===-===
Total Execution Time: 41.6697 seconds (41.6729 wall clock)
  
 ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
41.2583 (100.0%)   0.4114 (100.0%)  41.6697 (100.0%)  41.6729 (100.0%)  
Clang front-end timer
41.2583 (100.0%)   0.4114 (100.0%)  41.6697 (100.0%)  41.6729 (100.0%)  
Total

Thus, the patch introduces non-linear dependency of compilation times from the 
number of certain elements in the AST.

I'm going to revert the patch for now and let you figure out this when it's 
convenient to you. Have a nice vacation!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136565/new/

https://reviews.llvm.org/D136565

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D136565: [clang] Instantiate alias templates with sugar

2022-11-07 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

In D136565#3913065 , @mizvekov wrote:

> In D136565#3911884 , @alexfh wrote:
>
>> Hi Matheus, 279fe6281d2ca5b2318c7437316c28750feaac8d 
>>  causes 
>> compilation timeout on some of our internal files.
>
> Hi @alexfh. It looks like somehow we may be creating a crazy amount of extra 
> UsingTypes in your test scenario.
>
> There is a clang flag that prints some performance statistics, including the 
> amount of AST nodes created. I can't lookup the spelling as I am on vacations 
> / on a cellphone for the next two weeks, but I believe this is documented.
>
> One idea to get a reduction here is to perhaps tie your creduce 
> interestingness test to that UsingType count.

Something related to using types has definitely changed. The diff of what 
`-Xclang=-print-stats` prints in clang edf1a2e89340c8fa64a679e7d4ec2b5ee92ec40f 
 (a few 
commits before this one) and clang a few commits after this one 
(ee1f132d2c4d399be711275a62698ea9e766c199 
):

   *** AST Context Stats:
  -  2570192 types total.
  +  2647700 types total.
   2 Decayed types, 48 each (96 bytes)
   194 ConstantArray types, 56 each (10864 bytes)
   58 DependentSizedArray types, 64 each (3712 bytes)
   28 IncompleteArray types, 40 each (1120 bytes)
   18 Atomic types, 40 each (720 bytes)
   2 Attributed types, 48 each (96 bytes)
   62 Builtin types, 24 each (1488 bytes)
   268 Decltype types, 40 each (10720 bytes)
   10 Auto types, 48 each (480 bytes)
   39 DeducedTemplateSpecialization types, 48 each (1872 bytes)
  -1763 DependentName types, 48 each (84624 bytes)
  -126 DependentTemplateSpecialization types, 48 each (6048 bytes)
  -1034975 Elaborated types, 48 each (49678800 bytes)
  -5301 FunctionProto types, 40 each (212040 bytes)
  +1759 DependentName types, 48 each (84432 bytes)
  +129 DependentTemplateSpecialization types, 48 each (6192 bytes)
  +1074359 Elaborated types, 48 each (51569232 bytes)
  +5329 FunctionProto types, 40 each (213160 bytes)
   1174 InjectedClassName types, 40 each (46960 bytes)
   110 MemberPointer types, 48 each (5280 bytes)
  -444 PackExpansion types, 40 each (17760 bytes)
  +424 PackExpansion types, 40 each (16960 bytes)
   129 Paren types, 40 each (5160 bytes)
  -1221 Pointer types, 40 each (48840 bytes)
  -1582 LValueReference types, 40 each (63280 bytes)
  -525 RValueReference types, 40 each (21000 bytes)
  -19 SubstTemplateTypeParmPack types, 48 each (912 bytes)
  -2138 SubstTemplateTypeParm types, 40 each (85520 bytes)
  +1174 Pointer types, 40 each (46960 bytes)
  +1598 LValueReference types, 40 each (63920 bytes)
  +555 RValueReference types, 40 each (22200 bytes)
  +33 SubstTemplateTypeParmPack types, 48 each (1584 bytes)
  +859 SubstTemplateTypeParm types, 40 each (34360 bytes)
   84 Enum types, 32 each (2688 bytes)
   1334 Record types, 32 each (42688 bytes)
   1276440 TemplateSpecialization types, 40 each (51057600 bytes)
   43125 TemplateTypeParm types, 40 each (1725000 bytes)
   1071 Typedef types, 40 each (42840 bytes)
   197249 UnaryTransform types, 48 each (9467952 bytes)
  -669 Using types, 40 each (26760 bytes)
  +40052 Using types, 40 each (1602080 bytes)
   32 Vector types, 40 each (1280 bytes)
  -Total bytes = 112674200
  +Total bytes = 116089696

The test is still being reduced.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136565/new/

https://reviews.llvm.org/D136565

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D136565: [clang] Instantiate alias templates with sugar

2022-11-07 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

Hi Matheus, 279fe6281d2ca5b2318c7437316c28750feaac8d 
 causes 
compilation timeout on some of our internal files. We're trying to get a test 
case we can share, but so far the only information I can provide is compiler 
perf profile difference:

OK:

  3.08%  compiler.OK  compiler.OK [.] 
llvm::FoldingSetBase::GrowBucketCount(unsigned int, 
llvm::FoldingSetBase::FoldingSet
  2.82%  compiler.OK  compiler.OK [.] 
llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, 
void*&, llv
  2.32%  compiler.OK  compiler.OK [.] 
llvm::FoldingSet::NodeEquals(llvm::FoldingSetBase 
const*, llv
  1.86%  compiler.OK  compiler.OK [.] 
clang::Decl::castFromDeclContext(clang::DeclContext const*)
  1.61%  compiler.OK  compiler.OK [.] 
clang::TypeLoc::getFullDataSizeForType(clang::QualType)
  1.56%  compiler.OK  compiler.OK [.] 
clang::TypeLoc::getNextTypeLocImpl(clang::TypeLoc)
  1.47%  compiler.OK  compiler.OK [.] 
clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, 
clang::SourceLocation,

Bad:

  61.07%  compiler.bad  compiler.bad[.] 
llvm::FoldingSet::NodeEquals(llvm::FoldingSetBase const*, 
llvm::F
   8.14%  compiler.bad  compiler.bad[.] 
clang::UsingType::Profile(llvm::FoldingSetNodeID&, clang::UsingShadowDecl 
const*, c
   3.63%  compiler.bad  compiler.bad[.] 
llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, 
void*&, ll
   1.95%  compiler.bad  compiler.bad[.] 
llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const
   0.69%  compiler.bad  compiler.bad[.] 
llvm::FoldingSetBase::GrowBucketCount(unsigned int, 
llvm::FoldingSetBase::FoldingSe
   0.56%  compiler.bad  compiler.bad[.] 
llvm::FoldingSet::NodeEquals(llvm::FoldingSetBase 
const*, ll
   0.49%  compiler.bad  compiler.bad[.] 
clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, 
clang::SourceLocation,


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136565/new/

https://reviews.llvm.org/D136565

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D112374: [clang] Implement ElaboratedType sugaring for types written bare

2022-08-11 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh added a comment.

One more problem related to this patch: it changes the behavior of 
__PRETTY_FUNCTION__: https://gcc.godbolt.org/z/Mvnj9j74E. There may be 
dependencies upon the specific format of expansions of this macro: tests, log 
processing tools, libraries like ctti, and probably other things. It would be 
better to retain the format of function names expanded from this macro.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112374/new/

https://reviews.llvm.org/D112374

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D114111: Remove a useless temporary of a base class type.

2021-11-17 Thread Alexander Kornienko via Phabricator via lldb-commits
alexfh created this revision.
alexfh added a reviewer: clayborg.
alexfh requested review of this revision.
Herald added a project: LLDB.

This was found by clang-tidy bugprone-undelegated-constructor check.
Was there since the very first commit back in 2016.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114111

Files:
  
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp


Index: 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ 
lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();


Index: lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
===
--- lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
+++ lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp
@@ -175,7 +175,6 @@
 namespace lldb_renderscript {
 
 RSIRPasses::RSIRPasses(Process *process) {
-  IRPasses();
   assert(process);
 
   EarlyPasses = std::make_shared();
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits