HLSL doesn't have a C++ runtime that supports atexit registration. To
enable global destructors we instead rely on the llvm.global_dtor
mechanism.
This change disables atexit generation for HLSL and updates the HLSL
code generation to call global destructors on the exit from entry
functions.
Depends on D132977.