Commit Graph

39395 Commits

Author SHA1 Message Date
Gordon Henriksen
30183c0387 Revert a bad edit from r52095.
llvm-svn: 52103
2008-06-08 22:05:11 +00:00
Chris Lattner
20cf1070fc add vmkit and rewrite clang section
llvm-svn: 52102
2008-06-08 21:58:17 +00:00
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