diff options
author | Owen Anderson <resistor@mac.com> | 2007-07-19 19:57:13 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2007-07-19 19:57:13 +0000 |
commit | f9e6542969ff6c989d95adad7be7b0e26e29ad66 (patch) | |
tree | f03d1b7470761862d3744f56e311aef4a352901a /llvm/lib/Transforms/Scalar/GVNPRE.cpp | |
parent | dd96b98bf60ff50ba9d88b885c01cac47b3f31c9 (diff) | |
download | bcm5719-llvm-f9e6542969ff6c989d95adad7be7b0e26e29ad66.tar.gz bcm5719-llvm-f9e6542969ff6c989d95adad7be7b0e26e29ad66.zip |
Make val_replace fail early, which reduces the time to optimize 403.gcc to 14.8s.
llvm-svn: 40064
Diffstat (limited to 'llvm/lib/Transforms/Scalar/GVNPRE.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/GVNPRE.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVNPRE.cpp b/llvm/lib/Transforms/Scalar/GVNPRE.cpp index 69e5f733f73..9c7c8c2e259 100644 --- a/llvm/lib/Transforms/Scalar/GVNPRE.cpp +++ b/llvm/lib/Transforms/Scalar/GVNPRE.cpp @@ -757,6 +757,8 @@ void GVNPRE::val_insert(ValueNumberedSet& s, Value* v) { /// val_replace - Insert a value into a set, replacing any values already in /// the set that have the same value number void GVNPRE::val_replace(ValueNumberedSet& s, Value* v) { + if (s.count(v)) return; + uint32_t num = VN.lookup(v); Value* leader = find_leader(s, num); if (leader != 0) |