Repository: pytorch
Issue: Running decompositions over torch.export program adds one more output to the graph result
Labels: oncall: pt2,oncall: export

### 🐛 Describe the bug

On running the decomposition over the exported program through the torch.export it manipulates the graph such that the no. of results returned by the manipulated graph are 1 more than the original graph. Below is the code to repro the issue:
```
import torch
from torch.export import export

class Mod(torch.nn.Module):
    def forward(self, x, noise):
        res = torch.ops.aten.rrelu_with_noise(
            x, noise, 0.4, 0.6, True
        )
        return torch.mean(res)

example_args = (torch.randn(10, 10), torch.randn(10, 10))

exported_program: torch.export.ExportedProgram = export(
    Mod(), args=example_args
)
print("Exported program:\n", exported_program)

decomposed_program = exported_program.run_decompositions([])
print("Decomposed program:\n", decomposed_program)
```

Original Graph:
```
    class GraphModule(torch.nn.Module):
        def forward(self, x: "f32[10, 10]", noise: "f32[10, 10]"):
             # File: /home/vivek-pc/work/torch-mlir-vivek/fx_repro.py:6 in forward, code: res = torch.ops.aten.rrelu_with_noise(
            rrelu_with_noise: "f32[10, 10]" = torch.ops.aten.rrelu_with_noise.default(x, noise, 0.4, 0.6, True);  x = noise = None
            
             # File: /home/vivek-pc/work/torch-mlir-vivek/fx_repro.py:9 in forward, code: return torch.mean(res)
            mean: "f32[]" = torch.ops.aten.mean.default(rrelu_with_noise);  rrelu_with_noise = None
            return (mean,)
            
Graph signature: ExportGraphSignature(input_specs=[InputSpec(kind=<InputKind.USER_INPUT: 1>, arg=TensorArgument(name='x'), target=None, persistent=None), InputSpec(kind=<InputKind.USER_INPUT: 1>, arg=TensorArgument(name='noise'), target=None, persistent=None)], output_specs=[OutputSpec(kind=<OutputKind.USER_OUTPUT: 1>, arg=TensorArgument(name='mean'), target=None)])
Range constraints: {}
```

Decomposed Graph:
```
    class GraphModule(torch.nn.Module):
        def forward(self, x: "f32[10, 10]", noise: "f32[10, 10]"):
             # File: /home/vivek-pc/work/torch-mlir-vivek/fx_repro.py:6 in forward, code: res = torch.ops.aten.rrelu_with_noise(
            rrelu_with_noise_functional = torch.ops.aten.rrelu_with_noise_functional.default(x, noise, 0.4, 0.6, True);  x = noise = None
            getitem: "f32[10, 10]" = rrelu_with_noise_functional[0]
            getitem_1: "f32[10, 10]" = rrelu_with_noise_functional[1];  rrelu_with_noise_functional = None
            
             # File: /home/vivek-pc/work/torch-mlir-vivek/fx_repro.py:9 in forward, code: return torch.mean(res)
            mean: "f32[]" = torch.ops.aten.mean.default(getitem);  getitem = None
            return (getitem_1, mean)
            
Graph signature: ExportGraphSignature(input_specs=[InputSpec(kind=<InputKind.USER_INPUT: 1>, arg=TensorArgument(name='x'), target=None, persistent=None), InputSpec(kind=<InputKind.USER_INPUT: 1>, arg=TensorArgument(name='noise'), target=None, persistent=None)], output_specs=[OutputSpec(kind=<OutputKind.USER_INPUT_MUTATION: 6>, arg=TensorArgument(name='getitem_1'), target='noise'), OutputSpec(kind=<OutputKind.USER_OUTPUT: 1>, arg=TensorArgument(name='mean'), target=None)])
Range constraints: {}
```

### Versions

Collecting environment information...
PyTorch version: 2.6.0.dev20241216+cpu
Is debug build: False
CUDA used to build PyTorch: Could not collect
ROCM used to build PyTorch: N/A

OS: Ubuntu 24.04.1 LTS (x86_64)
GCC version: Could not collect
Clang version: 18.1.3 (1ubuntu1)
CMake version: version 3.31.1
Libc version: glibc-2.39

Python version: 3.12.3 (main, Nov  6 2024, 18:32:19) [GCC 13.2.0] (64-bit runtime)
Python platform: Linux-6.8.0-50-generic-x86_64-with-glibc2.39
Is CUDA available: False
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3090
Nvidia driver version: 550.120
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        48 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               32
On-line CPU(s) list:                  0-31
Vendor ID:                            AuthenticAMD
Model name:                           AMD Ryzen 9 5950X 16-Core Processor
CPU family:                           25
Model:                                33
Thread(s) per core:                   2
Core(s) per socket:                   16
Socket(s):                            1
Stepping:                             0
Frequency boost:                      enabled
CPU(s) scaling MHz:                   51%
CPU max MHz:                          5083.3979
CPU min MHz:                          2200.0000
BogoMIPS:                             6787.31
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
L1d cache:                            512 KiB (16 instances)
L1i cache:                            512 KiB (16 instances)
L2 cache:                             8 MiB (16 instances)
L3 cache:                             64 MiB (2 instances)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-31
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Mitigation; Safe RET
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP always-on; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] numpy==2.2.0rc1
[pip3] onnx==1.16.1
[pip3] torch==2.6.0.dev20241216+cpu
[pip3] torchvision==0.22.0.dev20241216+cpu
[conda] Could not collect


cc @chauhang @penguinwu @avikchaudhuri @gmagogsfm @zhxchen17 @tugsbayasgalan @angelayi @suo @ydwu4