Reactor: Add new 'EarlyCSEPass' optimization pass.

Documentation: http://llvm.org/doxygen/structllvm_1_1EarlyCSEPass.html

Bug: b/135609394
Change-Id: Ie7c6a99be46832797c3871b00fee33dea979f207
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33951
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 2e4e5ba..153c44d 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -392,6 +392,7 @@
 				case rr::Optimization::Pass::DeadStoreElimination: passManager->add(llvm::createDeadStoreEliminationPass()); break;
 				case rr::Optimization::Pass::SCCP:                 passManager->add(llvm::createSCCPPass());                 break;
 				case rr::Optimization::Pass::ScalarReplAggregates: passManager->add(llvm::createSROAPass());                 break;
+				case rr::Optimization::Pass::EarlyCSEPass:         passManager->add(llvm::createEarlyCSEPass());             break;
 				default:
 					UNREACHABLE("pass: %d", int(pass));
 				}