Bill Wendling
346669b97f
Temporarily reverting r52056. It's causing PPC to fail to bootstrap.
...
llvm-svn: 52085
2008-06-08 01:36:24 +00:00
Bruno Cardoso Lopes
b0cb678a47
Added support for FP Registers
...
llvm-svn: 52079
2008-06-07 21:32:41 +00:00
Chris Lattner
1baeae61b2
Update VC project files, patch by Cédric Venet!
...
llvm-svn: 52077
2008-06-07 19:33:54 +00:00
Evan Cheng
c7ed1b9258
Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e.
...
Turn
BB:
%t1 = icmp
br i1 %t1, label %BB1, label %BB2
BB1:
%t3 = add %t2, c
br label BB2
BB2:
=>
BB:
%t1 = icmp
%t4 = add %t2, c
%t3 = select i1 %t1, %t2, %t3
llvm-svn: 52073
2008-06-07 08:52:29 +00:00
Evan Cheng
bc28ef2028
Fix run line.
...
llvm-svn: 52072
2008-06-07 08:40:16 +00:00
Evan Cheng
6b5b097805
Revert r52046. It broke cbe on x86 / Mac OS X.
...
llvm-svn: 52071
2008-06-07 07:50:29 +00:00
Dan Gohman
d4e2736532
CodeGen support for insertvalue and extractvalue, and for loads and
...
stores of aggregate values.
llvm-svn: 52069
2008-06-07 02:02:36 +00:00
Owen Anderson
a18629b9c6
Connect successors before creating the DAG node for the branch. This has
...
no visible functionality change, but enables a future patch where node creation
will update the CFG if it decides to create an unconditional rather than a conditional branch.
llvm-svn: 52067
2008-06-07 00:00:23 +00:00
Gabor Greif
7c2e365dbc
get rid of ExtractValueInst::init's Value argument, it is already passed to the UnaryInstruction ctor
...
llvm-svn: 52064
2008-06-06 21:06:32 +00:00
Evan Cheng
b19baf81ba
Typo.
...
llvm-svn: 52062
2008-06-06 21:00:10 +00:00
Gabor Greif
8ac103e71d
make ExtractValueInst derived from UnaryInstruction
...
llvm-svn: 52061
2008-06-06 20:28:12 +00:00
Evan Cheng
d919d1ecd8
Enable stack coloring by default.
...
llvm-svn: 52057
2008-06-06 19:52:44 +00:00
Evan Cheng
3ac5c6575a
PPC preferred loop alignment is 16.
...
llvm-svn: 52056
2008-06-06 19:50:46 +00:00
Devang Patel
523ef2c2ea
LoopSimplify preserves AA.
...
llvm-svn: 52053
2008-06-06 17:50:58 +00:00
Devang Patel
1db00c242e
Print debug message only if there are dead passes.
...
llvm-svn: 52052
2008-06-06 17:50:36 +00:00
Owen Anderson
ee5cd76a0c
Include loop deletion and the ADCE rewrite in the release notes.
...
llvm-svn: 52048
2008-06-06 16:23:15 +00:00
Anton Korobeynikov
a9fa994d9b
Testcase for PR2418
...
llvm-svn: 52047
2008-06-06 16:08:56 +00:00
Anton Korobeynikov
8c40a176f7
Handle assembler identifiers specially in CBE. This fixes PR2418.
...
llvm-svn: 52046
2008-06-06 16:08:26 +00:00
Duncan Sands
c19b5155ea
Tighten up the abstraction slightly.
...
llvm-svn: 52045
2008-06-06 12:49:32 +00:00
Duncan Sands
d634afe3aa
Wrap MVT::ValueType in a struct to get type safety
...
and better control the abstraction. Rename the type
to MVT. To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits(). Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).
llvm-svn: 52044
2008-06-06 12:08:01 +00:00
Zhou Sheng
06fc769e52
As Chris suggested, handle the situation if ShAmt larger than BitWidth,
...
otherwise, opt might crash.
llvm-svn: 52041
2008-06-06 08:32:05 +00:00
Evan Cheng
fe06a1fd5b
Refine stack slot interval weight computation.
...
llvm-svn: 52040
2008-06-06 07:54:39 +00:00
Anton Korobeynikov
b207a716ee
Turn stdout into binary mode during bitcode emission.
...
This is necessary on windows targets, since stdout is in text mode there.
Patch by Julien Lerouge!
llvm-svn: 52038
2008-06-06 07:24:01 +00:00
Anton Korobeynikov
3e9eeaf6c9
Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
...
Patch by Julien Lerouge!
llvm-svn: 52037
2008-06-06 07:20:07 +00:00
Bruno Cardoso Lopes
23e9cfc581
Added custom isel for MUL, SDIVREM, UDIVREM, SMUL_LOHI and UMUL_LOHI nodes
...
MUL is not anymore directly matched because its a pseudoinstruction.
LogicI class fixed to zero-extend immediates.
llvm-svn: 52036
2008-06-06 06:37:31 +00:00
Bruno Cardoso Lopes
7b58f690cb
Added custom SELECT_CC lowering
...
Added special isel for ADDE,SUBE and new patterns to match SUBC,ADDC
llvm-svn: 52031
2008-06-06 00:58:26 +00:00
Dan Gohman
70fe9e347d
Revert 52002.
...
llvm-svn: 52030
2008-06-05 23:57:06 +00:00
Chris Lattner
67a5a4eba8
Expose a public interface to this pass.
...
llvm-svn: 52029
2008-06-05 23:45:18 +00:00
Chris Lattner
ea07bf8c1b
Let libcall semantics decide whether it knows about functions
...
with definitions or not.
llvm-svn: 52028
2008-06-05 23:38:34 +00:00
Evan Cheng
9d5a811ae1
Warn of potential violations of strict aliasing rules.
...
llvm-svn: 52027
2008-06-05 23:00:08 +00:00
Evan Cheng
badbe3e3fa
Don't break strict aliasing.
...
llvm-svn: 52026
2008-06-05 22:59:21 +00:00
Devang Patel
df5e7efded
Describe loop index split.
...
llvm-svn: 52021
2008-06-05 21:44:00 +00:00
Dan Gohman
1a7d090da5
Wording fixes. Thanks Bill!
...
llvm-svn: 52017
2008-06-05 18:45:33 +00:00
Owen Anderson
6b49b2db48
Remove debugging code.
...
llvm-svn: 52016
2008-06-05 18:43:34 +00:00
Gabor Greif
7d316de261
fix typos, tweak stuff, make it to validate
...
llvm-svn: 52015
2008-06-05 18:39:01 +00:00
Owen Anderson
18ca5de680
Use the newly created helper on LiveIntervals.
...
llvm-svn: 52013
2008-06-05 17:22:53 +00:00
Owen Anderson
08c0c02c20
Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.
...
llvm-svn: 52012
2008-06-05 17:15:43 +00:00
Dan Gohman
f27717f820
Move i128 on x86-64 from the codegen section to the x86-specific section.
...
llvm-svn: 52010
2008-06-05 16:15:39 +00:00
Dan Gohman
b9d1641124
Add a note about improved alignment detection.
...
llvm-svn: 52009
2008-06-05 15:49:29 +00:00
Dan Gohman
32e1487604
Add a note mentioning --view-sunit-dags improvements.
...
llvm-svn: 52008
2008-06-05 15:46:36 +00:00
Dan Gohman
d3e3e2b91c
Expand the bullet item about i128 support and APInt usage in codegen.
...
llvm-svn: 52007
2008-06-05 15:43:11 +00:00
Zhou Sheng
d7b035ee2b
Add a test case for opt -instcombine bug fix in revision 52003.
...
llvm-svn: 52004
2008-06-05 14:25:11 +00:00
Zhou Sheng
eaa93efd52
If BitWidth equals to ShtAmt, the RHSKnownZero[BitWidth-ShiftAmt-1] will
...
crash the opt. Just fix this.
Test case in llvm/test/Transforms/InstCombine/2008-06-05-ashr-crash.ll
llvm-svn: 52003
2008-06-05 14:23:44 +00:00
Matthijs Kooijman
ebf00c0f65
Change the Verifier to support returning first class aggregrates.
...
Add a testcase for functions returning first class aggregrates.
llvm-svn: 52002
2008-06-05 14:00:36 +00:00
Zhou Sheng
9c9d852f08
Add a test case for APInt bug fix in r51999.
...
llvm-svn: 52000
2008-06-05 13:42:21 +00:00
Zhou Sheng
0d32cd97e1
As comments said, for negative value, the arithmetic
...
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.
test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll
llvm-svn: 51999
2008-06-05 13:27:38 +00:00
Nick Lewycky
380c3aac60
Escape "$#".
...
llvm-svn: 51998
2008-06-05 12:54:44 +00:00
Matthijs Kooijman
6e1c286f53
Learn ScalarReplAggregrates how stores and loads of first class aggregrates
...
work and how to replace them into individual values. Also, when trying to
replace an aggregrate that is used by load or store with a single (large)
integer, don't crash (but don't replace the aggregrate either).
Also adds a testcase for both structs and arrays.
llvm-svn: 51997
2008-06-05 12:51:53 +00:00
Gordon Henriksen
a248df8fa0
Move this to the proper section.
...
I misread Optimizer Improvements as Other Improvements for some reason.
llvm-svn: 51996
2008-06-05 12:51:50 +00:00
Gordon Henriksen
9df03c6bb1
Adding release notes for bindings improvements.
...
llvm-svn: 51995
2008-06-05 12:48:32 +00:00