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