llvm-6502/lib/Transforms/Scalar
Chris Lattner 8999dd3c68 implement InstCombine/shift-trunc-shift.ll. This allows
us to compile:
#include <math.h>
int t1(double d) { return signbit(d); }

into:

_t1:
	movd	%xmm0, %rax
	shrq	$63, %rax
	ret

instead of:

_t1:
	movd	%xmm0, %rax
	shrq	$32, %rax
	shrl	$31, %eax
	ret

on x86-64.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45311 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-22 09:07:47 +00:00
..
ADCE.cpp Integrate the readonly/readnone logic more deeply 2007-12-01 07:51:45 +00:00
BasicBlockPlacement.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
CodeGenPrepare.cpp Fix typo. 2007-12-13 07:50:36 +00:00
CondPropagate.cpp Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll 2007-08-02 04:47:05 +00:00
ConstantProp.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
CorrelatedExprs.cpp Add explicit keywords. 2007-11-19 15:30:20 +00:00
DCE.cpp Fix GLIBCXX_DEBUG errors. Erase invalidates std::vector iterators 2007-12-17 17:39:51 +00:00
DeadStoreElimination.cpp Integrate the readonly/readnone logic more deeply 2007-12-01 07:51:45 +00:00
GCSE.cpp Use DominatorTree instead of ETForest. 2007-06-07 18:45:06 +00:00
GVN.cpp Fix several cache coherence bugs in MemDep/GVN that were found. Also add some (disabled) debugging code 2007-12-08 01:37:09 +00:00
GVNPRE.cpp explicit keywords. 2007-09-24 15:48:49 +00:00
IndVarSimplify.cpp Move the SCEV object factors from being static members of the individual 2007-10-22 18:31:58 +00:00
InstructionCombining.cpp implement InstCombine/shift-trunc-shift.ll. This allows 2007-12-22 09:07:47 +00:00
LICM.cpp Integrate the readonly/readnone logic more deeply 2007-12-01 07:51:45 +00:00
LoopIndexSplit.cpp If ExitValue operand is also defined in Loop header then 2007-12-03 19:17:21 +00:00
LoopRotation.cpp Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. 2007-11-27 03:43:35 +00:00
LoopStrengthReduce.cpp Clean up previous patch: PHI uses should not prevent iv reuse if all other uses are addresses. This trades a constant multiply for one fewer iv. 2007-12-20 02:20:53 +00:00
LoopUnroll.cpp Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. 2007-11-27 03:43:35 +00:00
LoopUnswitch.cpp Get rid of annoying spaces. 2007-12-17 17:40:29 +00:00
LowerGC.cpp Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. 2007-12-17 01:12:55 +00:00
LowerPacked.cpp Finishing initial docs for all transformations in Passes.html. 2007-11-04 16:15:04 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
PredicateSimplifier.cpp Executive summary: getTypeSize -> getTypeStoreSize / getABITypeSize. 2007-11-01 20:53:16 +00:00
Reassociate.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
Reg2Mem.cpp Reg2Mem cleanup and optimizations: 2007-10-21 23:05:16 +00:00
ScalarReplAggregates.cpp At the point of calculating the shift amount, the 2007-11-06 20:39:11 +00:00
SCCP.cpp Use empty() member functions when that's what's being tested for instead 2007-10-03 19:26:29 +00:00
SimplifyCFG.cpp Rename isNoReturn to doesNotReturn, and isNoUnwind to 2007-12-18 09:59:50 +00:00
TailDuplication.cpp Disable tail duplication of call instructions. The cost 2007-11-04 06:37:55 +00:00
TailRecursionElimination.cpp Prevent tailcallelim from breaking "recursive" calls to builtins. 2007-09-10 20:58:55 +00:00