Global non-use of ISD::BR_CC and ISD::CONDCODE

I came across a consistent behavior in most (if not all) backends,
when handling conditional branches, specifically those with ISD::BR_CC, everyone
use TargetLowering::LowerOperation hook to replace the ISD::CONDCODE chain node with constant, and then find it with a pattern using the tablegen.

I tried using the built in types of llvm to use tablegen and recognize ISD:BR_CC, unfortunately found no way to extract the specific condition of the ISD::CONDCODE, I suppose this is the reason why nobody uses it, but it just means this part of llvm is completely dead codeā€¦

I was wondering if anyone came across this thing, or has any insights on it.