strength reduce a ton of type equality tests to check the typeid (Through
authorChris Lattner <sabre@nondot.org>
Mon, 5 Oct 2009 05:54:46 +0000 (05:54 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 5 Oct 2009 05:54:46 +0000 (05:54 +0000)
commitcf0fe8d813727383d630055bb9d1cde21b00b7e7
tree4ed7b0bdfe761ae52997a152437d00ddaae10360
parent5f7962c1b6574e6d834925158886d7c0a1bab5dc
strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison.  Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
lib/AsmParser/LLParser.cpp
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/ELFWriter.cpp
lib/CodeGen/MachineInstr.cpp
lib/ExecutionEngine/ExecutionEngine.cpp
lib/ExecutionEngine/Interpreter/Execution.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/X86/X86FastISel.cpp
lib/Transforms/Scalar/MemCpyOptimizer.cpp
lib/Transforms/Scalar/SCCP.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Scalar/SimplifyLibCalls.cpp
lib/VMCore/ConstantFold.cpp
lib/VMCore/Constants.cpp
lib/VMCore/Verifier.cpp