Gtneg mul divoptimizations (#45604)
* GT_NEG optimization for multiplication and division
* Distribute negation over parenthetical multiplication or division.
* Removing duplicate logic that I had put in accidently.
* Check overflow and other conditions before performing morph
* Resolved merge conflict and cleanup morph.cpp
* Formatting morph.cpp
* Returning tree after performing smpop again to fix flags
* Formatting
* Added check for optimizations, formatting.
* Using gtIsActiveCSE_Candidate instead of fgGlobalMorph
* Update src/coreclr/jit/morph.cpp
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
* Formatting
* delete formatting changes.
* Add a test.
* Change the conditions a bit.
* Better names for the tests.
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>