llvm-6502/lib/Transforms/Utils
Chris Lattner bf5d4fb7d8 Teach simplifycfg that setcc is cheap and non-trapping, so that it can
convert this:

        %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
        br bool %tmp.1, label %shortcirc_done, label %shortcirc_next

shortcirc_next:         ; preds = %entry
        %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
        br label %shortcirc_done

shortcirc_done:         ; preds = %shortcirc_next, %entry
        %shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ]         ; <bool> [#uses=1]

to this:
        %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
        %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
        %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]

... which is later simplified by instcombine into an or.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21388 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 05:31:13 +00:00
..
BasicBlockUtils.cpp second argument to Value::setName is now gone. 2005-03-05 19:05:20 +00:00
BreakCriticalEdges.cpp Fix the missing symbols problem Bill was hitting. Patch contributed by 2005-03-17 15:38:16 +00:00
CloneFunction.cpp This mega patch converts us from using Function::a{iterator|begin|end} to 2005-03-15 04:54:21 +00:00
CloneModule.cpp This mega patch converts us from using Function::a{iterator|begin|end} to 2005-03-15 04:54:21 +00:00
CloneTrace.cpp Convert code to compile with vc7.1. 2004-09-15 17:06:42 +00:00
CodeExtractor.cpp This mega patch converts us from using Function::a{iterator|begin|end} to 2005-03-15 04:54:21 +00:00
DemoteRegToStack.cpp Fix the missing symbols problem Bill was hitting. Patch contributed by 2005-03-17 15:38:16 +00:00
InlineFunction.cpp This mega patch converts us from using Function::a{iterator|begin|end} to 2005-03-15 04:54:21 +00:00
Local.cpp Enhance hasConstantValue to ignore undef values in phi nodes. This allows it 2004-10-17 21:23:26 +00:00
LoopSimplify.cpp Enhance loopsimplify to preserve alias analysis instead of clobbering it. 2005-03-25 06:37:22 +00:00
LowerAllocations.cpp Add an optional argument to lower to a specific constant value instead of 2005-03-03 01:03:43 +00:00
LowerInvoke.cpp Lazily create the abort message, so only translation units that use unwind 2004-11-13 19:07:32 +00:00
LowerSelect.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
LowerSwitch.cpp Convert code to compile with vc7.1. 2004-09-15 17:06:42 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Mem2Reg.cpp Rename createPromoteMemoryToRegister() to 2005-03-28 02:01:12 +00:00
PromoteMemoryToRegister.cpp Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx 2004-11-30 07:01:15 +00:00
SimplifyCFG.cpp Teach simplifycfg that setcc is cheap and non-trapping, so that it can 2005-04-21 05:31:13 +00:00
UnifyFunctionExitNodes.cpp Add support for unreachable 2004-10-16 18:21:33 +00:00
ValueMapper.cpp Add support for UndefValue 2004-10-16 18:10:31 +00:00
ValueMapper.h Move RemapInstruction() to ValueMapper, so that it can be shared with 2004-05-19 09:08:12 +00:00