Chris Lattner
ec14741370
start edits.
...
llvm-svn: 52100
2008-06-08 21:34:41 +00:00
Chris Lattner
032b2d2e17
add more notes.
...
llvm-svn: 52099
2008-06-08 21:19:07 +00:00
Duncan Sands
fe2a970a5c
Remove comparison methods for MVT. The main cause
...
of apint codegen failure is the DAG combiner doing
the wrong thing because it was comparing MVT's using
< rather than comparing the number of bits. Removing
the < method makes this mistake impossible to commit.
Instead, add helper methods for comparing bits and use
them.
llvm-svn: 52098
2008-06-08 20:54:56 +00:00
Chris Lattner
4a896996cb
Limit the icmp+phi merging optimization to the cases where it is profitable:
...
don't make i1 phis when it won't be possible to eliminate them.
llvm-svn: 52097
2008-06-08 20:52:11 +00:00
Chris Lattner
ab3318470b
add some html escapes
...
llvm-svn: 52096
2008-06-08 20:25:30 +00:00
Duncan Sands
f6978aed65
Using llc always rather than sometimes using LLC.
...
Try to improve language in various places. Use
X86 always rather than sometimes using x86. Add
some minor Ada info.
llvm-svn: 52095
2008-06-08 20:18:35 +00:00
Duncan Sands
f7f001eff5
Fix spelling.
...
llvm-svn: 52094
2008-06-08 19:38:43 +00:00
Anton Korobeynikov
aed2cbb0a1
Remove invalid test
...
llvm-svn: 52093
2008-06-08 16:59:10 +00:00
Anton Korobeynikov
9a0ee27d9a
Add win64
...
llvm-svn: 52091
2008-06-08 10:24:13 +00:00
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