I've done a bit of archeology in the git archive on this one.

The live range optimization pass and the option -ftree-lrs that controlled it were removed in December 2006, by commit 7290d709efbec4d872160fa274bf2128b55432eb

A subsequent patch to do some unrelated cleanups in common.opt added it back, I think by accident:
c662432e8cb909295011dc548cb238dd1586f702

Shortly after that, Kazu proposed deleting both the option (again) and its documentation, but only the documentation part was approved. I'm not sure either Kazu or Mark realized that the option had already been deleted once before.

https://gcc.gnu.org/pipermail/gcc-patches/2007-February/210750.html

That was commit 8af636537a1ad44268da5cca4f849728c391c698.

Is it OK to finally delete this zombie option that has been useless and undocumented for 18+ years? Or is it our policy to continue to support now-useless options forever "for backwards compatibility with old Makefiles"?, perhaps marking them all "Undocumented" instead?

-Sandra
From 508ec0e80821b01611c9335c39701c70065fc7c7 Mon Sep 17 00:00:00 2001
From: Sandra Loosemore <[email protected]>
Date: Wed, 15 Oct 2025 18:30:48 +0000
Subject: [PATCH] Re-delete obsolete -ftree-lrs option [PR122243]

gcc/ChangeLog
	PR other/122243
	* common.opt (ftree-lrs): Delete.
---
 gcc/common.opt | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index f6d93dc05fb..ebb7b4cfb7a 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3343,10 +3343,6 @@ ftree-ter
 Common Var(flag_tree_ter) Optimization
 Replace temporary expressions in the SSA->normal pass.
 
-ftree-lrs
-Common Var(flag_tree_live_range_split) Optimization
-Perform live range splitting during the SSA->normal pass.
-
 ftree-vrp
 Common Var(flag_tree_vrp) Init(0) Optimization
 Perform Value Range Propagation on trees.
-- 
2.39.5

Reply via email to