Commit Graph

39442 Commits

Author SHA1 Message Date
Duncan Sands
8eab8a2798 Remove some DAG combiner assumptions about sizes
of integer types.  Fix the isMask APInt method to
actually work (hopefully) rather than crashing
because it adds apints of different bitwidths.
It looks like isShiftedMask is also broken, but
I'm leaving that one to the APInt people (it is
not used anywhere).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 11:32:28 +00:00
Duncan Sands
eddc8f1f8b Test that prune-eh doesn't make deductions based
on bodies of functions with weak linkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52141 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 11:28:41 +00:00
Rafael Espindola
d674b4e87d add support for PIC on linux x86-64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 09:52:31 +00:00
Chris Lattner
313f0e63f7 lower calls to abs to inline code, PR2337
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52138 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 08:26:51 +00:00
Chris Lattner
18d73c206e Fix PR2411, where ip constant prop would propagate the
result of a weak function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:58:07 +00:00
Bill Wendling
93ee81e5b9 Small formatting changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52136 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:51:45 +00:00
Chris Lattner
822143e6f7 use 'continue' to make the function linker simpler. When linking a strong
function into a weak function, zap the weak function body so that the
strong one overrides it.  This fixes PR2410


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52135 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:47:34 +00:00
Chris Lattner
8246849829 minor changes to short circuit the 'no linkage' case earlier for
function bodies.  We now don't try to unify types or handling type
mismatches if when linking an internal foo to an external foo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:36:11 +00:00
Chris Lattner
bc3d1c7e4c simplify function visibility handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52133 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:25:28 +00:00
Tanya Lattner
301d5b48cb Create dirs as needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 07:14:31 +00:00
Gabor Greif
a3bd11d028 removed two implicitly closed </p> tags to get it validate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52123 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 06:06:18 +00:00
Tanya Lattner
b37ef51b13 Update with new release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52121 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 06:02:09 +00:00
Dan Gohman
f821ca3437 Add a note in the API Changes section about the ConstantFP::get change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:36:34 +00:00
Anton Korobeynikov
44181de8dc Use proper icon :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52118 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:21:50 +00:00
Anton Korobeynikov
d1b9ef9c52 Fix few validations errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52117 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:20:10 +00:00
Anton Korobeynikov
28b6670064 Add footer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52116 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:17:51 +00:00
Anton Korobeynikov
74120313d0 Remove obsolete CompilerDriver.html and provie a new one, based on autogenerated file form
LLVMC-Reference.rst


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52115 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:15:49 +00:00
Chris Lattner
f3a4fea145 linkify, this requires pulling CodeGenerator.html into 2.3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 04:00:08 +00:00
Chris Lattner
d10e467ad9 Add a simple, but efficient, generic scoped hash table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52112 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 00:42:10 +00:00
Chris Lattner
e7bc1369c9 grammaro
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52111 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 23:40:40 +00:00
Chris Lattner
04af7cbb7d final edits from me, simplify the ia64 section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 23:12:47 +00:00
Chris Lattner
43b65e9906 more edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 23:06:47 +00:00
Dan Gohman
8207ba93ef Add notes about two known X86-64 limitations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52108 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 23:05:11 +00:00
Chris Lattner
f8e0b4e30e several edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52107 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 22:59:35 +00:00
Dan Gohman
e328078705 Add some links to doxygen documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 22:57:59 +00:00
Dan Gohman
fd0d22e638 Describe MachineMemOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52105 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 22:49:27 +00:00
Dan Gohman
eedf6fe581 Fix a grammero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52104 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 22:44:43 +00:00
Gordon Henriksen
7e59b8ade9 Revert a bad edit from r52095.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52103 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 22:05:11 +00:00
Chris Lattner
8348b47fde add vmkit and rewrite clang section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52102 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 21:58:17 +00:00
Chris Lattner
ea34f64b8d start edits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52100 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 21:34:41 +00:00
Chris Lattner
e6e1b35acd add more notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52099 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 21:19:07 +00:00
Duncan Sands
8e4eb09b1e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52098 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 20:54:56 +00:00
Chris Lattner
7d8ab4efbc 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 20:52:11 +00:00
Chris Lattner
c4e6b37329 add some html escapes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52096 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 20:25:30 +00:00
Duncan Sands
27aff8755b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52095 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 20:18:35 +00:00
Duncan Sands
47eff2be9a Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52094 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 19:38:43 +00:00
Anton Korobeynikov
7aa700e979 Remove invalid test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52093 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 16:59:10 +00:00
Anton Korobeynikov
a6094be533 Add win64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52091 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 10:24:13 +00:00
Anton Korobeynikov
0d1769155f This was fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52090 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 10:23:46 +00:00
Chris Lattner
0b83220aec add some notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52087 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 02:45:07 +00:00
Bruno Cardoso Lopes
e90ea5e81f Added FP instruction formats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52086 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 01:39:36 +00:00
Bill Wendling
a8a8f427d6 Temporarily reverting r52056. It's causing PPC to fail to bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52085 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-08 01:36:24 +00:00
Bruno Cardoso Lopes
dfac7cb306 Added support for FP Registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52079 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 21:32:41 +00:00
Chris Lattner
e562a2f499 Update VC project files, patch by Cédric Venet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52077 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 19:33:54 +00:00
Evan Cheng
4d09efd7b8 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52073 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 08:52:29 +00:00
Evan Cheng
cce302fded Fix run line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52072 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 08:40:16 +00:00
Evan Cheng
3e3aa86b68 Revert r52046. It broke cbe on x86 / Mac OS X.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 07:50:29 +00:00
Dan Gohman
1d685a46bf CodeGen support for insertvalue and extractvalue, and for loads and
stores of aggregate values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52069 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 02:02:36 +00:00
Owen Anderson
2d389e8ad7 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52067 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-07 00:00:23 +00:00
Gabor Greif
76aca6f38f get rid of ExtractValueInst::init's Value argument, it is already passed to the UnaryInstruction ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52064 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 21:06:32 +00:00