[NVPTX] Fix code generation for `trap-unreachable`. (#67478)

https://reviews.llvm.org/D152789 added an `exit` op before each
`unreachable`. This means we never get to the `trap` instruction.

This change limits the insertion of `exit` instructions to the cases
where `unreachable` is not lowered to `trap`. Trap itself is changed to
be emitted as `trap; exit;` to convey to `ptxas` that it exits the CFG.

GitOrigin-RevId: 5b7a7ec5a2106772de90a59c52e9fac7481f7e8a
6 files changed