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
Duncan Sands
5b7cfb02f7
Fix PR3694: add an instcombine micro-optimization that helps
...
clean up when using variable length arrays in llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65832 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:18:21 +00:00
Mikhail Glushenkov
540d73f0cb
Move the rules for building plugins to Makefile.rules.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov
b14f5b5e9d
Fix build with objdir != srcdir.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65826 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov
95e2aa8967
Move code from Main.cpp to the include dir.
...
User drivers based on llvmc must all share the initialization code.
Putting main() into libCompilerDriver is not a very good idea IMO (and ld gave
me some strange EH-related error anyway).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:03:02 +00:00
Mikhail Glushenkov
bd21c83d64
Cosmetic fixes: include guards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:02:28 +00:00
Mikhail Glushenkov
41f36f456b
Plugin::Priority() doesn't need to be pure virtual.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:02:01 +00:00
Mikhail Glushenkov
f5178ce144
Add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65822 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:01:39 +00:00
Mikhail Glushenkov
f188178a2f
Reorganize llvmc code.
...
Move the code from 'llvmc/driver' into a new CompilerDriver library, and change
the build system accordingly. Makes it easier for projects using LLVM to build
their own llvmc-based drivers.
Tested with objdir != srcdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 09:01:14 +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
Gordon Henriksen
6da385e07f
Drop toy GC runtime.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 03:46:48 +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
Nate Begeman
cbd88adea6
Fix a problem with DAGCombine on 64b targets where folding
...
extracts + build_vector into a shuffle would fail, because the
type of the new build_vector would not be legal. Try harder to
create a legal build_vector type. Note: this will be totally
irrelevant once vector_shuffle no longer takes a build_vector for
shuffle mask.
New:
_foo:
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
subps %xmm1, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
Old:
_foo:
xorps %xmm0, %xmm0
movss %xmm0, %xmm1
xorps %xmm2, %xmm2
unpcklps %xmm1, %xmm2
pshufd $80, %xmm1, %xmm1
unpcklps %xmm1, %xmm2
pslldq $16, %xmm2
pshufd $57, %xmm2, %xmm1
subps %xmm0, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 23:44:07 +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
Gabor Greif
5e7d4d643d
Another sentinel optimization. This one should always
...
be a win, since almost every interesting function has at least one Argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65778 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 17:13:15 +00:00
Gabor Greif
abd6f28a74
Reuse a technique (pioneered for BasicBlocks) of superposing ilist with
...
its sentinel. This is quite a win when a function really has a basic block.
When the function is just a declaration (and stays so) the old way did not
allocate a sentinel. So this change is most beneficial when the ratio of
function definition to declaration is high. I.e. linkers etc. Incidentally
these are the most resource demanding applications, so I expect that the
reduced malloc traffic, locality and space savings outweigh the cost of
addition of two pointers to Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 16:38:10 +00:00
Duncan Sands
358f24943a
Functions marked malloc are noalias return.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65775 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 16:19:31 +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
Duncan Sands
d14e9e78e4
Adjust this test for recent llvm-gcc changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65771 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 15:01:51 +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
Gabor Greif
1f3bd7a2ee
fix a comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 09:45:52 +00:00
Gabor Greif
1a31d09a16
Fix a typo. Thanks baldrick!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65767 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 09:43:41 +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
Bill Wendling
8fe40819ae
Temporarily revert r65755. It was causing failures in the self-hosting
...
testsuite:
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/nancvt.ll
Failed with exit(1) at line 2
while running: grep 2147027116 nancvt.ll.tmp | count 3
count: expected 3 lines and got 0.
child process exited abnormally
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll
Failed with exit(1) at line 1
while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not /usr/bin/grep sub.*esp
subl $28, %esp
subl $28, %esp
child process exited abnormally
And more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65758 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 03:55:12 +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
Chris Lattner
af89a3f1d3
hoist the check for alloca size up so that it controls CanConvertToScalar
...
as well as isSafeAllocaToScalarRepl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65755 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 02:26:47 +00:00
Evan Cheng
870b80722f
Minor optimization:
...
Look for situations like this:
%reg1024<def> = MOV r1
%reg1025<def> = MOV r0
%reg1026<def> = ADD %reg1024, %reg1025
r0 = MOV %reg1026
Commute the ADD to hopefully eliminate an otherwise unavoidable copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 02:03:43 +00:00
Chris Lattner
890484984b
tweak this to accept asmprinter changes. I have no way to verify this, hopefully
...
the buildbot will work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65750 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 01:28:40 +00:00
Chris Lattner
d2b6cb0a2b
simplify handling "don't print top level name" processing, so that we get
...
stuff like %A = type { %A*} instead of an upref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65748 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 01:16:21 +00:00
Bob Wilson
a27ea9e89f
Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new
...
method in a BuildVectorSDNode "pseudo-class".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 01:13:55 +00:00
Chris Lattner
f6f0bdfec3
Fix a pretty awesome bug that only happened in a strange case with anonymous
...
types. This was reading the uint for the keyword after the token was advanced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65743 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:53:13 +00:00
Chris Lattner
884858608b
walk type symbol table also, so we get:
...
type opaque ; type %0
%C = type { %0, %0 }
instead of:
%C = type { opaque, opaque }
when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:32:33 +00:00
Chris Lattner
585cfb6821
adjust for asmprinter change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:26:51 +00:00
Chris Lattner
3aa8f6bc11
adjust for asmprinter change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:25:46 +00:00
Chris Lattner
13397b97ee
adjust test to make it more robust
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:24:40 +00:00
Chris Lattner
413fd2304d
Fix a long-standing bug and misfeature of the disassembler: when dealing with a
...
stripped .bc file, it didn't make any attempt to try to reuse anonymous types.
This causes an amazing type explosion due to types getting duplicated everywhere
they are referenced and other problems.
This also caused correctness issues, because opaque types are unique for each time
they are uttered in the file. This means that stripping a .bc file could produce
a .ll file that could not be assembled (e.g. 2009-02-28-StripOpaqueName.ll).
This patch fixes both of these issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65738 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:03:38 +00:00
Chris Lattner
e9fa33eb66
move type name population out of TypePrinting class into a static
...
AsmWriter.cpp method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65736 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 23:20:19 +00:00