Run an instcombine pass after inlining but before scalarrepl. This
allows instcombine to clean up the code, which makes more code
suitable for SRoA.This helps C++ code in particular, e.g. speeding up
tramp3d by 31%.
Index: llvm-backend.cpp
==
Changes in directory llvm/tools/gccas:
gccas.cpp updated: 1.123 -> 1.124
---
Log message:
Run an instcombine pass after inlining but before scalarrepl. This allows
instcombine to clean up the code, which makes more code suitable for SRoA.
This helps C++ code in particular, e.g. speeding up tr
Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.599 -> 1.600
---
Log message:
Implement InstCombine/phi.ll:test7, deletion of trivial value loops for
induction variables.
---
Diffs of the changes: (+16 -2)
InstructionCombining.cpp | 18 +++
Changes in directory llvm/test/Regression/Transforms/InstCombine:
phi.ll updated: 1.14 -> 1.15
---
Log message:
new testcase
---
Diffs of the changes: (+12 -0)
phi.ll | 12
1 files changed, 12 insertions(+)
Index: llvm/test/Regression/Transforms/InstCombine/phi.ll
diff -u
Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.598 -> 1.599
---
Log message:
simplify some code now that types are signless
---
Diffs of the changes: (+12 -46)
InstructionCombining.cpp | 58 +--
1 files cha
Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.597 -> 1.598
---
Log message:
delete stores to allocas with one use. This is a trivial form of DSE which
often kicks in for ?: expressions.
---
Diffs of the changes: (+18 -0)
InstructionCombining.cpp |
Changes in directory llvm/test/Regression/Transforms/InstCombine:
alloca.ll updated: 1.2 -> 1.3
---
Log message:
add a simple case where instcombine can detect and remove a dead alloca
---
Diffs of the changes: (+13 -0)
alloca.ll | 13 +
1 files changed, 13 insertions(+)
In
Changes in directory llvm/lib/Analysis:
ConstantFolding.cpp updated: 1.9 -> 1.10
---
Log message:
Constant fold llvm.powi.*. This speeds up tramp3d--v4 by 9.5%
---
Diffs of the changes: (+12 -1)
ConstantFolding.cpp | 13 -
1 files changed, 12 insertions(+), 1 deletion(-)
I
Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.151 -> 1.152
---
Log message:
add some notes
---
Diffs of the changes: (+68 -0)
README.txt | 68 +
1 files changed, 68 insertions(+)
Index: llvm/lib/Target/X86/RE
Changes in directory llvm/tools/llvm-upgrade:
UpgradeInternals.h updated: 1.3 -> 1.4
UpgradeParser.y updated: 1.41 -> 1.42
UpgradeLexer.l updated: 1.15 -> 1.16
---
Log message:
For PR1113: http://llvm.org/PR1113 :
Increment the counter after the second use, not after the first use. This
fixes P
Changes in directory llvm/lib/Target/CBackend:
CBackend.cpp updated: 1.316 -> 1.317
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For examp
Changes in directory llvm/lib/Transforms:
ExprTypeConvert.cpp updated: 1.120 -> 1.121
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For exa
Changes in directory llvm/lib/Transforms/Scalar:
CorrelatedExprs.cpp updated: 1.48 -> 1.49
IndVarSimplify.cpp updated: 1.105 -> 1.106
InstructionCombining.cpp updated: 1.596 -> 1.597
LoopStrengthReduce.cpp updated: 1.106 -> 1.107
Reassociate.cpp updated: 1.71 -> 1.72
ScalarReplAggregates.cpp upd
Changes in directory llvm/lib/Target/X86:
X86TargetAsmInfo.cpp updated: 1.24 -> 1.25
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For exam
Changes in directory llvm/lib/Analysis:
ConstantRange.cpp updated: 1.31 -> 1.32
ScalarEvolution.cpp updated: 1.87 -> 1.88
ScalarEvolutionExpander.cpp updated: 1.11 -> 1.12
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralT
Changes in directory llvm/lib/ExecutionEngine/Interpreter:
Execution.cpp updated: 1.158 -> 1.159
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consisten
Changes in directory llvm/include/llvm/Analysis:
ScalarEvolutionExpander.h updated: 1.11 -> 1.12
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consisten
Changes in directory llvm/lib/Transforms/Utils:
SimplifyCFG.cpp updated: 1.112 -> 1.113
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For e
Changes in directory llvm/include/llvm:
Type.h updated: 1.99 -> 1.100
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example, there are
Changes in directory llvm/lib/Transforms/IPO:
DeadTypeElimination.cpp updated: 1.60 -> 1.61
SimplifyLibCalls.cpp updated: 1.87 -> 1.88
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
Changes in directory llvm/include/llvm/CodeGen:
MachOWriter.h updated: 1.10 -> 1.11
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For examp
Changes in directory llvm/lib/AsmParser:
llvmAsmParser.cpp.cvs updated: 1.54 -> 1.55
llvmAsmParser.y updated: 1.309 -> 1.310
llvmAsmParser.y.cvs updated: 1.55 -> 1.56
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMa
Changes in directory llvm/lib/Bytecode/Writer:
Writer.cpp updated: 1.149 -> 1.150
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example
Changes in directory llvm/lib/CodeGen:
AsmPrinter.cpp updated: 1.134 -> 1.135
IntrinsicLowering.cpp updated: 1.58 -> 1.59
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes n
Changes in directory llvm/lib/VMCore:
AsmWriter.cpp updated: 1.252 -> 1.253
ConstantFolding.cpp updated: 1.131 -> 1.132
Constants.cpp updated: 1.200 -> 1.201
Instructions.cpp updated: 1.62 -> 1.63
Type.cpp updated: 1.160 -> 1.161
Verifier.cpp updated: 1.185 -> 1.186
---
Log message:
rename Type
Changes in directory llvm/tools/llvm2cpp:
CppWriter.cpp updated: 1.33 -> 1.34
---
Log message:
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example, th
Index: llvm-convert.cpp
===
--- llvm-convert.cpp(revision 122440)
+++ llvm-convert.cpp(working copy)
@@ -221,7 +221,7 @@
// If this is just a mismatch between integer types, this
is due
// to K&R proto
Changes in directory llvm/lib/VMCore:
Instructions.cpp updated: 1.61 -> 1.62
Verifier.cpp updated: 1.184 -> 1.185
---
Log message:
teach VMCore to accept i1 add's and shifts
---
Diffs of the changes: (+17 -17)
Instructions.cpp | 20 ++--
Verifier.cpp | 14 +++---
Changes in directory llvm/lib/CodeGen:
IntrinsicLowering.cpp updated: 1.57 -> 1.58
---
Log message:
eliminate calls to Type::isInteger, preferring isIntegral instead.
---
Diffs of the changes: (+2 -2)
IntrinsicLowering.cpp |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Ind
Changes in directory llvm/lib/ExecutionEngine/Interpreter:
Execution.cpp updated: 1.157 -> 1.158
---
Log message:
eliminate calls to Type::isInteger, preferring isIntegral instead.
---
Diffs of the changes: (+4 -4)
Execution.cpp |8
1 files changed, 4 insertions(+), 4 deletion
Changes in directory llvm/lib/AsmParser:
llvmAsmParser.y updated: 1.308 -> 1.309
---
Log message:
allow i1 to operators like shift and add.
---
Diffs of the changes: (+4 -4)
llvmAsmParser.y |8
1 files changed, 4 insertions(+), 4 deletions(-)
Index: llvm/lib/AsmParser/llvmAs
Changes in directory llvm/include/llvm/Analysis:
ScalarEvolutionExpander.h updated: 1.10 -> 1.11
---
Log message:
Update code to eliminate calls to isInteger, calling isIntegral instead.
---
Diffs of the changes: (+3 -3)
ScalarEvolutionExpander.h |6 +++---
1 files changed, 3 insertion
Changes in directory llvm/lib/Analysis:
ConstantRange.cpp updated: 1.30 -> 1.31
ScalarEvolution.cpp updated: 1.86 -> 1.87
---
Log message:
Update code to eliminate calls to isInteger, calling isIntegral instead.
---
Diffs of the changes: (+12 -17)
ConstantRange.cpp |2 +-
ScalarEvolu
Changes in directory llvm/docs:
ProgrammersManual.html updated: 1.105 -> 1.106
---
Log message:
Change to match API changes.
---
Diffs of the changes: (+2 -6)
ProgrammersManual.html |8 ++--
1 files changed, 2 insertions(+), 6 deletions(-)
Index: llvm/docs/ProgrammersManual.html
Changes in directory llvm/lib/Transforms/Utils:
SimplifyCFG.cpp updated: 1.111 -> 1.112
---
Log message:
Eliminate calls to isInteger, generalizing code and tightening checks as needed.
---
Diffs of the changes: (+1 -1)
SimplifyCFG.cpp |2 +-
1 files changed, 1 insertion(+), 1 deletion
Changes in directory llvm/lib/Transforms:
ExprTypeConvert.cpp updated: 1.119 -> 1.120
---
Log message:
Eliminate calls to isInteger, generalizing code and tightening checks as needed.
---
Diffs of the changes: (+7 -8)
ExprTypeConvert.cpp | 15 +++
1 files changed, 7 insertion
Changes in directory llvm/lib/Transforms/IPO:
SimplifyLibCalls.cpp updated: 1.86 -> 1.87
---
Log message:
Eliminate calls to isInteger, generalizing code and tightening checks as needed.
---
Diffs of the changes: (+5 -5)
SimplifyLibCalls.cpp | 10 +-
1 files changed, 5 insertions
Changes in directory llvm/lib/Transforms/Scalar:
IndVarSimplify.cpp updated: 1.104 -> 1.105
InstructionCombining.cpp updated: 1.595 -> 1.596
LoopStrengthReduce.cpp updated: 1.105 -> 1.106
ScalarReplAggregates.cpp updated: 1.64 -> 1.65
---
Log message:
Eliminate calls to isInteger, generalizing
Changes in directory llvm/docs:
LangRef.html updated: 1.197 -> 1.198
---
Log message:
Terminology change: drop 'integral' completely. Now we just have integer,
which includes i1. Change the semantics of the various instructions to
support i1 where they didn't before: for example, it is now le
Changes in directory llvm/lib/Target/X86:
X86TargetAsmInfo.cpp updated: 1.23 -> 1.24
---
Log message:
Make use of isInteger vs isIntegral more explicit
---
Diffs of the changes: (+1 -1)
X86TargetAsmInfo.cpp |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/lib/Target/
Changes in directory llvm/lib/Target/CBackend:
CBackend.cpp updated: 1.315 -> 1.316
---
Log message:
Make use of isInteger vs isIntegral more explicit
---
Diffs of the changes: (+4 -4)
CBackend.cpp |8
1 files changed, 4 insertions(+), 4 deletions(-)
Index: llvm/lib/Target/C
On Mon, 15 Jan 2007, Reid Spencer wrote:
>> Constant *ConstantExpr::getTrunc(Constant *C, const Type *Ty) {
>> - assert(C->getType()->isInteger() && "Trunc operand must be integer");
>> + assert(C->getType()->isIntegral() && "Trunc operand must be integer");
>
> This makes no sense. How can you
On Sun, 2007-01-14 at 18:46 -0600, Chris Lattner wrote:
>
> Changes in directory llvm/lib/VMCore:
>
> Constants.cpp updated: 1.199 -> 1.200
> ---
> Log message:
>
> don't discriminate against i1
Not quite right, see below.
>
>
> ---
> Diffs of the changes: (+9 -9)
>
> Constants.cpp | 18
Changes in directory llvm/test/Regression/Transforms/CorrelatedExprs:
looptest.ll updated: 1.5 -> 1.6
nullpointer.ll updated: 1.6 -> 1.7
---
Log message:
ensure these don't xpass if opt crashes
---
Diffs of the changes: (+2 -0)
looptest.ll|1 +
nullpointer.ll |1 +
2 files chan
Changes in directory llvm/lib/Analysis:
ConstantRange.cpp updated: 1.29 -> 1.30
---
Log message:
Fix correlated exprs regressions
---
Diffs of the changes: (+2 -2)
ConstantRange.cpp |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: llvm/lib/Analysis/ConstantRange.cpp
d
Changes in directory llvm/lib/VMCore:
Constants.cpp updated: 1.199 -> 1.200
---
Log message:
don't discriminate against i1
---
Diffs of the changes: (+9 -9)
Constants.cpp | 18 +-
1 files changed, 9 insertions(+), 9 deletions(-)
Index: llvm/lib/VMCore/Constants.cpp
diff
Changes in directory llvm/tools/llvm-upgrade:
UpgradeLexer.l updated: 1.14 -> 1.15
UpgradeParser.y updated: 1.40 -> 1.41
UpgradeInternals.h updated: 1.2 -> 1.3
---
Log message:
Reorganize things a bit in preparation for rewrite. Although this looks
like a lot, its really only two changes:
1. M
already fixed:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070108/042663.html
Thanks,
-Chris
On Mon, 15 Jan 2007, Reid Spencer wrote:
> On Sun, 2007-01-14 at 12:33 -0600, Chris Lattner wrote:
>>
>> Changes in directory llvm/lib/Transforms/Utils:
>>
>> BreakCriticalEdges.cpp u
On Sun, 2007-01-14 at 12:33 -0600, Chris Lattner wrote:
>
> Changes in directory llvm/lib/Transforms/Utils:
>
> BreakCriticalEdges.cpp updated: 1.38 -> 1.39
> ---
> Log message:
>
> Fix PR1110: http://llvm.org/PR1110 and
> Analysis/Dominators/2007-01-14-BreakCritEdges.ll by being
> more carefu
Changes in directory llvm/lib/Transforms/Utils:
BreakCriticalEdges.cpp updated: 1.39 -> 1.40
---
Log message:
Fix Analysis/Dominators/2006-10-02-BreakCritEdges.ll
---
Diffs of the changes: (+2 -1)
BreakCriticalEdges.cpp |3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
Index:
Changes in directory llvm/include/llvm/CodeGen:
MachOWriter.h updated: 1.9 -> 1.10
---
Log message:
Primitive types don't include integers any more, adjust.
---
Diffs of the changes: (+1 -1)
MachOWriter.h |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/include/llvm/
Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.594 -> 1.595
---
Log message:
instcombine has always been miscompiling fcmp x, x, disregarding possible
NANs. This fixes PR: http://llvm.org/PR and
Transforms/InstCombine/2007-01-14-FcmpSelf.ll
---
Changes in directory llvm/include/llvm:
Instructions.h updated: 1.49 -> 1.50
---
Log message:
add accessors
---
Diffs of the changes: (+6 -0)
Instructions.h |6 ++
1 files changed, 6 insertions(+)
Index: llvm/include/llvm/Instructions.h
diff -u llvm/include/llvm/Instructions.h:1.
Changes in directory llvm/test/Regression/Transforms/InstCombine:
2007-01-14-FcmpSelf.ll added (r1.1)
---
Log message:
new testcase
---
Diffs of the changes: (+6 -0)
2007-01-14-FcmpSelf.ll |6 ++
1 files changed, 6 insertions(+)
Index: llvm/test/Regression/Transforms/InstCombine/
Changes in directory llvm/test/Regression/CFrontend:
hidden-visibility.c added (r1.1)
---
Log message:
verify that hidden visibility support never goes away
---
Diffs of the changes: (+3 -0)
hidden-visibility.c |3 +++
1 files changed, 3 insertions(+)
Index: llvm/test/Regression/CFro
Changes in directory llvm/lib/Transforms/Utils:
BreakCriticalEdges.cpp updated: 1.38 -> 1.39
---
Log message:
Fix PR1110: http://llvm.org/PR1110 and
Analysis/Dominators/2007-01-14-BreakCritEdges.ll by being
more careful about unreachable code when updating dominator info.
---
Diffs of the c
Changes in directory llvm/test/Regression/Analysis/Dominators:
2007-01-14-BreakCritEdges.ll added (r1.1)
---
Log message:
testcase for pr1110: http://llvm.org/PR1110
---
Diffs of the changes: (+188 -0)
2007-01-14-BreakCritEdges.ll | 188 +++
1 file
Changes in directory llvm/lib/Target/X86:
X86TargetAsmInfo.cpp updated: 1.22 -> 1.23
---
Log message:
No hidden visiblity on Mingw32/Cygwin
---
Diffs of the changes: (+1 -0)
X86TargetAsmInfo.cpp |1 +
1 files changed, 1 insertion(+)
Index: llvm/lib/Target/X86/X86TargetAsmInfo.cpp
dif
58 matches
Mail list logo