[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-25 Thread Matt Arsenault via llvm-branch-commits
arsenm wrote: Reposted as essentially the same form in https://github.com/llvm/llvm-project/pull/137313. https://github.com/llvm/llvm-project/pull/137314 takes the next step and eliminates the reference counts https://github.com/llvm/llvm-project/pull/134692 ___

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-25 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm closed https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
@@ -437,7 +437,8 @@ static bool LinearizeExprTree(Instruction *I, for (unsigned OpIdx = 0; OpIdx < I->getNumOperands(); ++OpIdx) { // Visit operands. Value *Op = I->getOperand(OpIdx); LLVM_DEBUG(dbgs() << "OPERAND: " << *Op << " (" << Weight << ")\n"); - a

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
@@ -889,10 +919,50 @@ inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) { return OS; } +inline Use::~Use() { + if (Val) +Val->removeUse(*this); +} + +void Use::addToList(unsigned &Count) { + assert(isa(Val) && "Only ConstantData is ref-counted"); + ++Co

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Nikita Popov via llvm-branch-commits
https://github.com/nikic commented: Compile-time: https://llvm-compile-time-tracker.com/compare.php?from=09588e93bbe486ce782de9fba604f5cd184ec446&to=54260021fd4ffa41b5f20994af7b34653b4d4d42&stat=instructions%3Au It's possible that the wall-time picture may be different due to slightly less mem

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Nikita Popov via llvm-branch-commits
@@ -889,10 +919,50 @@ inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) { return OS; } +inline Use::~Use() { + if (Val) +Val->removeUse(*this); +} + +void Use::addToList(unsigned &Count) { + assert(isa(Val) && "Only ConstantData is ref-counted"); + ++Co

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Nikita Popov via llvm-branch-commits
@@ -8857,6 +8857,8 @@ bool LLParser::parseMDNodeVector(SmallVectorImpl &Elts) { //===--===// bool LLParser::sortUseListOrder(Value *V, ArrayRef Indexes, SMLoc Loc) { + if (isa(

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Nikita Popov via llvm-branch-commits
@@ -437,7 +437,8 @@ static bool LinearizeExprTree(Instruction *I, for (unsigned OpIdx = 0; OpIdx < I->getNumOperands(); ++OpIdx) { // Visit operands. Value *Op = I->getOperand(OpIdx); LLVM_DEBUG(dbgs() << "OPERAND: " << *Op << " (" << Weight << ")\n"); - a

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread via llvm-branch-commits
llvmbot wrote: @llvm/pr-subscribers-llvm-transforms Author: Matt Arsenault (arsenm) Changes This is a resurrected version of the patch attached to this RFC: https://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606 In this adaptation, there are a few differences. In t

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread via llvm-branch-commits
llvmbot wrote: @llvm/pr-subscribers-llvm-analysis Author: Matt Arsenault (arsenm) Changes This is a resurrected version of the patch attached to this RFC: https://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606 In this adaptation, there are a few differences. In the

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread via llvm-branch-commits
llvmbot wrote: @llvm/pr-subscribers-backend-aarch64 @llvm/pr-subscribers-llvm-ir Author: Matt Arsenault (arsenm) Changes This is a resurrected version of the patch attached to this RFC: https://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606 In this adaptation, ther

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm ready_for_review https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm edited https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/134692 >From 21970c51d15b2a95a3cea384662139cee341ebbd Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 3 Apr 2025 17:30:01 +0700 Subject: [PATCH] IR: Remove uselist for constantdata This is a resurrected versio

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-13 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/134692 >From 21970c51d15b2a95a3cea384662139cee341ebbd Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 3 Apr 2025 17:30:01 +0700 Subject: [PATCH] IR: Remove uselist for constantdata This is a resurrected versio

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-12 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/134692 >From 9313a3ec2e3cd0d4b68f4e3c02fe9bf05bbc2337 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 3 Apr 2025 17:30:01 +0700 Subject: [PATCH] IR: Remove uselist for constantdata This is a resurrected versio

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-12 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/134692 >From 9313a3ec2e3cd0d4b68f4e3c02fe9bf05bbc2337 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 3 Apr 2025 17:30:01 +0700 Subject: [PATCH] IR: Remove uselist for constantdata This is a resurrected versio

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-10 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm edited https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-08 Thread Matt Arsenault via llvm-branch-commits
arsenm wrote: IROutliner patch: #134850 https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] IR: Remove uselist for constantdata (PR #134692)

2025-04-07 Thread Matt Arsenault via llvm-branch-commits
https://github.com/arsenm edited https://github.com/llvm/llvm-project/pull/134692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits