Commit Graph

2890 Commits

Author SHA1 Message Date
Duncan Sands
667d4b8de6 Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr.  These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global.  In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time.   This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function.  If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body.  The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07 15:45:40 +00:00
Gordon Henriksen
bffc86684e Committing unsaved changes that should've been with r66237.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 02:42:47 +00:00
Gordon Henriksen
e5abac4a86 Incorporate feedback to improve GarbageCollection.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:57:32 +00:00
Nick Lewycky
bb2b521f81 This bug's been fixed but a version with the fix hasn't been released yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 05:41:16 +00:00
Bill Wendling
52349a919b Document the -gcc-tool-args bugpoint option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 23:15:59 +00:00
Daniel Dunbar
e3d1b653be Add some more clang related release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65868 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 20:08:12 +00:00
Tanya Lattner
6e2b86b8aa Remove incorrect information about fortran on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65859 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 19:38:59 +00:00
Gabor Greif
f94ecc3d1a fix broken GCC bugzilla link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 19:11:53 +00:00
Gabor Greif
54820ce91c add a Q/A on broken GCCs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65857 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 19:08:05 +00:00
Chris Lattner
cade822c54 update blurb per Shannon Weyrick.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 19:07:24 +00:00
Duncan Sands
05c709517d Try to make the meaning of 'nocapture' a bit clearer. I
commented out the line about simplifylibcalls because I
think this doesn't work in the release (it was fixed in
svn after the release branched).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 16:58:00 +00:00
Duncan Sands
dd3e6722d9 Use GCC not gcc, like everywhere else in this document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 16:35:57 +00:00
John Criswell
524a5ddbb3 Grammar and punctuation fixes.
No content changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 15:28:15 +00:00
Gabor Greif
cc46550785 note the removal of deprecated interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 12:23:55 +00:00
Gabor Greif
4906abe63a minor tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65838 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 12:02:51 +00:00
Gabor Greif
29ecc1c4c2 minor tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 11:34:51 +00:00
Nicolas Geoffray
09c9ed4409 Add more notes for VMKit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:25:38 +00:00
Bill Wendling
99dac47b0a Random formatting changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65815 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 07:54:14 +00:00
Bill Wendling
dc1350ef0d Fix typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 07:42:15 +00:00
Bill Wendling
63d8c55266 Change </pp> to </p>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65804 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 04:28:57 +00:00
Bill Wendling
6bc15281a9 - Use "real-world applications" instead of just "real applications".
- Verification Fixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65803 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 04:28:18 +00:00
Gordon Henriksen
c9c0b59402 Make some improvements to the GC docs.
Also, drop reference to the half-baked runtime interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 03:47:20 +00:00
Chris Lattner
3975f2bf9e remove empty section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 03:24:41 +00:00
Chris Lattner
511433e7cf more englishification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65799 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 03:24:11 +00:00
Chris Lattner
917cc71ae1 start translating this into Engrish and organizing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 02:37:32 +00:00
Chris Lattner
932af8f8c3 move gold plugin next to LTO doc in the subsystem section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 23:42:51 +00:00
Nick Lewycky
f3888ba23f Add a quickstart example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65789 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 21:55:10 +00:00
Nick Lewycky
f45a82890e Close list item tag, to conform with the style in this file. It's optional
anyways.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 21:07:44 +00:00
Nick Lewycky
017730c653 Add the gold plugin page to the documentation index!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 21:06:42 +00:00
Nick Lewycky
d66ff0f2e0 Cleanup the description of flags to llvm-gcc. Also remove stray text in the
attribution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 20:58:07 +00:00
Nick Lewycky
050147cb70 Don't forget the important part. llvm-gcc -use-gold-plugin passes the right
options to gold.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65783 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 18:48:53 +00:00
Mikhail Glushenkov
f795ef0cd4 Sprinkle llvmc notes with <tt>.
Also removes some trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 18:09:47 +00:00
Duncan Sands
10f06755ce Tweak this a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 15:19:03 +00:00
Nick Lewycky
fd97aa2bd2 Fix grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65769 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 09:51:07 +00:00
Nick Lewycky
ebc6765970 First pass at a document describing how to achieve LTO on Linux with gold.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 09:38:29 +00:00
Duncan Sands
f910fd3110 Another point to mention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 08:26:19 +00:00
Chris Lattner
c441fb8937 add some llvmc notes from Mikhail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 02:30:21 +00:00
Bill Wendling
0a4bbbf62f Fix grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:12:54 +00:00
Chris Lattner
bc31caf2e7 add a stub for Roadsend PHP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:58:01 +00:00
Chris Lattner
7088279597 don't use the word 'aggregate' with constants, it is confusing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:32:25 +00:00
Chris Lattner
03bbad6410 don't redescribe bitcast constraints in two places. It is not valid to
bitcast from one aggregate to another.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:27:03 +00:00
Nick Lewycky
6cd74989b9 Update this text for first-class aggregates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 17:30:06 +00:00
Bill Wendling
e05b6f10ba Fix typo. Found by William Moss.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 12:26:34 +00:00
Gabor Greif
0186250b31 document ilist_traits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 13:28:07 +00:00
Gabor Greif
2946d1c928 Expand a bit on iplist. If you are more expert on this class, please review!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 12:02:19 +00:00
Gabor Greif
3899e498df update ilist documentation and add some blurb on ilist_node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 11:37:41 +00:00
Gabor Greif
a1ae094cf7 update year
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 11:28:46 +00:00
Ted Kremenek
8b3894cdfd Update release notes for static analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65624 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 07:01:32 +00:00
Chris Lattner
ab68e9e7fe drop some un-edited text for pure and ldc in here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65579 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 22:33:38 +00:00
Nick Lewycky
a15dc035a6 Remove libtool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 07:44:16 +00:00