Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
3dc03fb
avoid put implicit_def into bundle that break reg's liveness
Shoreshen Jun 3, 2025
2fcb149
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 4, 2025
80decd5
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 4, 2025
f58ef06
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 5, 2025
09b8fe5
Merge remote-tracking branch 'origin/main' into bundle-break-phyreg-l…
Shoreshen Jun 6, 2025
f3550df
Applying comments from Jayfold and Matthew, using finilizebundle to f…
Shoreshen Jun 6, 2025
915335a
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 9, 2025
c1b220c
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 10, 2025
a002223
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 11, 2025
03e031b
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 12, 2025
f42e25d
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 12, 2025
11659cd
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 12, 2025
77a7133
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 13, 2025
645776b
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 13, 2025
f606540
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 16, 2025
cfa6151
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 16, 2025
b18da74
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 17, 2025
3d8ef74
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 18, 2025
cbbc41e
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 19, 2025
d4db5d5
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 20, 2025
027802b
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 23, 2025
849b834
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 24, 2025
88c1ac8
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 25, 2025
abd5e4b
use regunit, fix matthew's comments
Shoreshen Jun 25, 2025
5f2f332
fix test case with space
Shoreshen Jun 25, 2025
d5d3d62
Merge remote-tracking branch 'origin/main' into bundle-break-phyreg-l…
Shoreshen Jun 25, 2025
1f90eda
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 26, 2025
a651fbf
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 26, 2025
44d8db6
remove subreg, fix tests
Shoreshen Jun 26, 2025
e422935
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 26, 2025
3d81548
fix bundle tests
Shoreshen Jun 26, 2025
5d5bb3a
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 27, 2025
fa9c8fe
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jun 30, 2025
48c869d
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 1, 2025
047ef09
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 2, 2025
9f6ea59
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 4, 2025
d90bc62
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 7, 2025
810092f
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 8, 2025
4e8b5c4
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 8, 2025
daffa51
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 9, 2025
b36f3fc
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 10, 2025
51b0d71
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 11, 2025
2e72677
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 14, 2025
49f6ee5
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 15, 2025
5403864
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 16, 2025
eac10fb
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 17, 2025
3c3b15d
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 18, 2025
fc87143
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 21, 2025
09c4b66
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 22, 2025
d75fa3d
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 23, 2025
114ce02
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 23, 2025
cf3344e
fix failing case
Shoreshen Jul 24, 2025
1026e5e
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 24, 2025
8706753
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 25, 2025
e59fe4e
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 28, 2025
23f8c29
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 29, 2025
db3dbfc
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 30, 2025
fb35271
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 30, 2025
957b617
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 31, 2025
500e352
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Jul 31, 2025
39115f1
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 4, 2025
6326f19
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 5, 2025
939051b
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 6, 2025
0e4e1b8
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 6, 2025
63e957e
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 6, 2025
b54bb86
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 7, 2025
002ecc5
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 8, 2025
a9b4c4e
fix failing test
Shoreshen Aug 8, 2025
4ba4334
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 11, 2025
7abccdd
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 12, 2025
6eadc58
fix comments
Shoreshen Aug 12, 2025
eee8139
Update llvm/lib/CodeGen/MachineInstrBundle.cpp
Shoreshen Aug 12, 2025
58ebd67
fix comments
Shoreshen Aug 12, 2025
c0febed
Merge branch 'main' into bundle-break-phyreg-liveness
Shoreshen Aug 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions llvm/lib/CodeGen/MachineInstrBundle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,11 @@ static DebugLoc getDebugLoc(MachineBasicBlock::instr_iterator FirstMI,
}

static bool containReg(SmallSetVector<Register, 32> LocalDefsV,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
static bool containReg(SmallSetVector<Register, 32> LocalDefsV,
static bool containsReg(SmallSetVector<Register, 32> LocalDefsV,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Document that LocalDefsV is for virtual registers, and LocalDefsP for physregs

SmallSetVector<MCRegUnit, 32> LocalDefsP, Register Reg,
BitVector LocalDefsP, Register Reg,
const TargetRegisterInfo *TRI) {
if (Reg.isPhysical()) {
for (MCRegUnit Unit : TRI->regunits(MCRegister::from(Reg.id())))
if (!LocalDefsP.contains(Unit))
for (MCRegUnit Unit : TRI->regunits(Reg.asMCReg()))
if (!LocalDefsP[Unit])
return false;

return true;
Expand Down Expand Up @@ -128,7 +128,7 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB,
Bundle.prepend(MIB);

SmallSetVector<Register, 32> LocalDefs;
SmallSetVector<MCRegUnit, 32> LocalDefsP;
BitVector LocalDefsP(TRI->getNumRegUnits());
SmallSet<Register, 8> DeadDefSet;
SmallSet<Register, 16> KilledDefSet;
SmallSetVector<Register, 8> ExternUses;
Expand Down Expand Up @@ -180,8 +180,8 @@ void llvm::finalizeBundle(MachineBasicBlock &MBB,
}

if (!MO.isDead() && Reg.isPhysical()) {
for (MCRegUnit Unit : TRI->regunits(MCRegister::from(Reg.id())))
LocalDefsP.insert(Unit);
for (MCRegUnit Unit : TRI->regunits(Reg.asMCReg()))
LocalDefsP.set(Unit);
}
}

Expand Down
Loading