llvm with tablegen backend for capstone disassembler
Go to file
Chandler Carruth e134d1a336 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.

llvm-svn: 152025
2012-03-05 11:29:54 +00:00
clang Fix a small difference in sema and codegen views of what needs to be output. 2012-03-05 10:54:55 +00:00
compiler-rt [asan] Add a negative test for memcpy of long double. 2012-03-02 10:42:10 +00:00
debuginfo-tests Revert previous patch as the corresponding clang patch was reverted. 2012-01-26 07:01:33 +00:00
libclc Switch to BSD/MIT dual license. 2012-02-22 04:47:39 +00:00
libcxx Define _WCHAR_T in solaris/wchar.h. This fixes a bug where Solaris 10 headers 2012-03-02 10:56:04 +00:00
libcxxabi First attempt at arm support. 2012-02-29 22:14:19 +00:00
lld Add support for SharedLibraryAtoms (proxy atoms for exported symbols from a 2012-02-22 21:56:59 +00:00
lldb Make it possible to set Exception breakpoints when the target doesn't yet 2012-03-05 04:47:34 +00:00
llvm Replace the ad-hoc hashing in GVN with the new hashing infrastructure. 2012-03-05 11:29:54 +00:00
polly CodeGen: Document and beautify the parts of the BlockGenerators 2012-03-02 15:20:39 +00:00