Anton Korobeynikov
5e8b8ee322
This was fixed
...
llvm-svn: 52090
2008-06-08 10:23:46 +00:00
Chris Lattner
0afb7c4bd1
add some notes.
...
llvm-svn: 52087
2008-06-08 02:45:07 +00:00
Bruno Cardoso Lopes
c91758a7fc
Added FP instruction formats.
...
llvm-svn: 52086
2008-06-08 01:39:36 +00:00
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