[xla:hlo] Use llvm::BitVector instead of a set when checking reachability
[xla:hlo] Use llvm::BitVector instead of a set when checking reachability

name                               old cpu/op   new cpu/op   delta
BM_HloDfsReachabilityBuild/1        109ns ± 4%   111ns ± 4%     ~     
BM_HloDfsReachabilityBuild/64      1.71µs ± 6%  1.71µs ± 4%     ~     
BM_HloDfsReachabilityBuild/128     3.38µs ± 3%  3.43µs ± 3%   +1.54%  
BM_HloDfsReachabilityBuild/256     6.80µs ± 4%  6.95µs ± 5%   +2.25%  
BM_HloDfsReachabilityBuild/512     13.8µs ± 4%  14.2µs ± 6%   +2.63%  
BM_HloDfsReachabilityBuild/4096     155µs ± 4%   157µs ± 4%     ~     
BM_HloDfsReachabilityBuild/32768   1.42ms ± 5%  1.45ms ± 3%   +1.94%  
BM_HloDfsReachabilityBuild/262144  32.2ms ± 4%  32.1ms ± 4%     ~     
BM_HloDfsReachabilityCheck/1       7.37ns ± 3%  7.41ns ± 4%     ~     
BM_HloDfsReachabilityCheck/64       295ns ± 5%   139ns ± 8%  -52.78%  
BM_HloDfsReachabilityCheck/128      679ns ± 3%   278ns ± 7%  -59.05%  
BM_HloDfsReachabilityCheck/256     1.53µs ± 5%  0.61µs ± 6%  -60.06%  
BM_HloDfsReachabilityCheck/512     3.06µs ± 5%  1.31µs ± 6%  -57.27%  
BM_HloDfsReachabilityCheck/4096    30.2µs ± 7%  17.9µs ± 4%  -40.53%  
BM_HloDfsReachabilityCheck/32768    532µs ± 4%   327µs ± 5%  -38.52%  
BM_HloDfsReachabilityCheck/262144  8.72ms ± 3%  6.66ms ± 4%  -23.59%
