Minimize usage of global constructors in Reactor
Minimize usage of global constructors in Reactor

A few const bools are easily replaced with constexprs. Other global
constructors are left as is for now.

llvm_shutdown_obj is necessary for cleaning up LLVM at program exit and
is necessarily used every time SwiftShader is invoked.

We could replace CPUID::SSE4_1 with a call to a singleton function.
However, I believe this increases code complexity for little benefit.
Because it's a bool, there's no deconstructor associated with it, it's
cleaned up when global memory is deallocated.

Bug: b/175073772
Change-Id: I25635fda0878e30668cbfc6982877b5d2d924789
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/56708
Kokoro-Result: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Tested-by: Sean Risser <2d04e98eeaa433fb55534399ab3ab2c06fdf7967@google.com>
Commit-Queue: Sean Risser <2d04e98eeaa433fb55534399ab3ab2c06fdf7967@google.com>

google/swiftshader,google/swiftshader,google/swiftshader