llvm-6502/lib/Transforms/Scalar
Chandler Carruth 16003d0c0c Replace the ad-hoc hashing in GVN with the new hashing infrastructure.
This implicitly fixes a nasty bug in the GVN hashing (that thankfully
could only manifest as a performance bug): actually include the opcode
in the hash. The old code started the hash off with the opcode, but then
overwrote it with the type pointer.

Since this is likely to be pretty hot (GVN being already pretty
expensive) I've included a micro-optimization to just not bother with
the varargs hashing if they aren't present. I can't measure any change
in GVN performance due to this, even with a big test case like Duncan's
sqlite one. Everything I see is in the noise floor. That said, this
closes a loop hole for a potential scaling problem due to collisions if
the opcode were the differentiating aspect of the expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152025 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05 11:29:54 +00:00
..
ADCE.cpp The landingpad instruction isn't dead simply because it's value isn't used. 2011-08-19 21:52:06 +00:00
BasicBlockPlacement.cpp
CMakeLists.txt build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
CodeGenPrepare.cpp Do trivial CSE of dead BBs during codegen preparation. 2012-03-04 10:46:01 +00:00
ConstantProp.cpp Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData 2011-12-01 21:29:16 +00:00
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp Reverted r152620 - DSE: Shorten memset when a later store overwrites the start of it. There were all sorts of buildbot issues 2012-02-28 05:06:24 +00:00
EarlyCSE.cpp bz11794 : EarlyCSE stack overflow on long functions. 2012-01-31 23:14:41 +00:00
GlobalMerge.cpp Fix various issues (or do cleanups) found by enabling certain MSVC warnings. 2012-02-13 06:30:56 +00:00
GVN.cpp Replace the ad-hoc hashing in GVN with the new hashing infrastructure. 2012-03-05 11:29:54 +00:00
IndVarSimplify.cpp Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
JumpThreading.cpp SwitchInst refactoring. 2012-02-01 07:49:51 +00:00
LICM.cpp Move Instruction::isSafeToSpeculativelyExecute out of VMCore and 2011-12-14 23:49:11 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
LoopDeletion.cpp
LoopIdiomRecognize.cpp Correct grammar. 2011-09-13 00:44:16 +00:00
LoopInstSimplify.cpp Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
LoopRotation.cpp loop-rotate shouldn't hoist alloca instructions out of a loop. Patch by Patrik Hägglund, with slightly modified test. Issue reported by Patrik Hägglund on llvmdev. 2012-02-16 00:41:10 +00:00
LoopStrengthReduce.cpp More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
LoopUnrollPass.cpp Add -unroll-runtime for unrolling loops with run-time trip counts. 2011-12-09 06:19:40 +00:00
LoopUnswitch.cpp SwitchInst refactoring. 2012-02-01 07:49:51 +00:00
LowerAtomic.cpp Remove the old atomic instrinsics. autoupgrade functionality is included with this patch. 2011-10-06 23:20:49 +00:00
Makefile
MemCpyOptimizer.cpp Fix various issues (or do cleanups) found by enabling certain MSVC warnings. 2012-02-13 06:30:56 +00:00
ObjCARC.cpp Fix an iterator invalidation problem. operator[] on a DenseMap 2012-03-02 01:26:46 +00:00
Reassociate.cpp Silence a bunch (but not all) "variable written but not read" warnings 2011-08-12 14:54:45 +00:00
Reg2Mem.cpp
Scalar.cpp Add a new ObjC ARC optimization pass to eliminate unneeded 2012-01-17 20:52:24 +00:00
ScalarReplAggregates.cpp Reflow code, no functionality change. 2012-02-23 17:42:19 +00:00
SCCP.cpp SwitchInst refactoring. 2012-02-01 07:49:51 +00:00
SimplifyCFGPass.cpp
SimplifyLibCalls.cpp reapply the patches reverted in r149470 that reenable ConstantDataArray, 2012-02-05 02:29:43 +00:00
Sink.cpp Move Instruction::isSafeToSpeculativelyExecute out of VMCore and 2011-12-14 23:49:11 +00:00
TailRecursionElimination.cpp Correct over-zealous removal of hack. 2011-10-17 18:43:40 +00:00