[tfrt:jit] Optimize operations with empty async groups
[tfrt:jit] Optimize operations with empty async groups

Benchmark improvement example:

name                       old cpu/op  new cpu/op  delta
BM_mlir_Exp_f32_12/10        122ns ± 7%   103ns ± 6%  -15.28%  (p=0.000 n=54+52)
BM_mlir_Exp_f32_12/100       221ns ± 8%   199ns ± 8%   -9.83%  (p=0.000 n=54+54)
BM_mlir_Exp_f32_12/1024     1.08µs ± 7%  1.05µs ±10%   -3.02%  (p=0.000 n=54+54)
BM_mlir_Exp_f32_12/10240    9.85µs ± 9%  9.82µs ± 9%     ~     (p=0.595 n=52+51)
BM_mlir_Exp_f32_12/102400    156µs ±20%   156µs ±16%     ~     (p=0.565 n=60+60)
BM_mlir_Exp_f32_12/1024000  1.37ms ±14%  1.37ms ±13%     ~     (p=0.743 n=60+60)

name                       old time/op     new time/op  delta
BM_mlir_Exp_f32_12/10        122ns ± 7%    104ns ± 6%  -15.27%   (p=0.000 n=54+52)
BM_mlir_Exp_f32_12/100       221ns ± 8%    199ns ± 8%   -9.84%   (p=0.000 n=54+54)
BM_mlir_Exp_f32_12/1024     1.08µs ± 7%   1.05µs ±10%   -3.01%   (p=0.000 n=54+54)
BM_mlir_Exp_f32_12/10240    9.86µs ± 9%   9.83µs ± 9%     ~      (p=0.595 n=52+51)
BM_mlir_Exp_f32_12/102400   35.6µs ±19%   35.6µs ±15%     ~      (p=0.458 n=60+60)
BM_mlir_Exp_f32_12/1024000   148µs ±15%    148µs ±12%     ~      (p=0.263 n=60+59)

PiperOrigin-RevId: 424615674

tensorflow/runtime,tensorflow/runtime,tensorflow/runtime,tensorflow/runtime