Commit Graph

44956 Commits

Author SHA1 Message Date
John Criswell ea03c9d300 Grammar and punctuation fixes.
No content changes.

llvm-svn: 65844
2009-03-02 15:28:15 +00:00
Gabor Greif 1ab00bf883 Declare Sentinel fragments as mutable to get rid
of some pointless casting. This fragment logically
does not belong to ilist anyway, but to "ghostly"
NodeType.

llvm-svn: 65843
2009-03-02 14:47:45 +00:00
Gabor Greif 502bf8d994 remove a deprecated interface that was pretty useless
llvm-svn: 65842
2009-03-02 12:42:07 +00:00
Gabor Greif 176c12dd38 note the removal of deprecated interfaces
llvm-svn: 65841
2009-03-02 12:23:55 +00:00
Gabor Greif 21e3ec35fe fix typo
llvm-svn: 65839
2009-03-02 12:10:56 +00:00
Gabor Greif 75b2f76754 minor tweaks
llvm-svn: 65838
2009-03-02 12:02:51 +00:00
Gabor Greif 01c2ec85ed minor tweaks
llvm-svn: 65837
2009-03-02 11:34:51 +00:00
Mikhail Glushenkov c6333bdc50 Remove duplication in Makefile.rules.
Merge common bits from the LLVMC and TABLEGEN sections.

llvm-svn: 65834
2009-03-02 09:42:59 +00:00
Nicolas Geoffray 08a8d0e71e Add more notes for VMKit.
llvm-svn: 65833
2009-03-02 09:25:38 +00:00
Duncan Sands 5795a6091d Fix PR3694: add an instcombine micro-optimization that helps
clean up when using variable length arrays in llvm-gcc.

llvm-svn: 65832
2009-03-02 09:18:21 +00:00
Mikhail Glushenkov 7cff81825f Move the rules for building plugins to Makefile.rules.
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov 37b419cdee Fix build with objdir != srcdir.
llvm-svn: 65826
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov ecfab627fd 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).

llvm-svn: 65825
2009-03-02 09:03:02 +00:00
Mikhail Glushenkov f552ed69f9 Cosmetic fixes: include guards.
llvm-svn: 65824
2009-03-02 09:02:28 +00:00
Mikhail Glushenkov a9780b2202 Plugin::Priority() doesn't need to be pure virtual.
llvm-svn: 65823
2009-03-02 09:02:01 +00:00
Mikhail Glushenkov 661f4c9131 Add a comment.
llvm-svn: 65822
2009-03-02 09:01:39 +00:00
Mikhail Glushenkov 931d4521c3 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.

llvm-svn: 65821
2009-03-02 09:01:14 +00:00
Bill Wendling 89cd82f5da Random formatting changes.
llvm-svn: 65815
2009-03-02 07:54:14 +00:00
Bill Wendling b3921bf12e Fix typos.
llvm-svn: 65813
2009-03-02 07:42:15 +00:00
Bill Wendling f170d2e6c8 Change </pp> to </p>.
llvm-svn: 65804
2009-03-02 04:28:57 +00:00
Bill Wendling 87adbe4836 - Use "real-world applications" instead of just "real applications".
- Verification Fixes.

llvm-svn: 65803
2009-03-02 04:28:18 +00:00
Gordon Henriksen 29a25ebbd9 Make some improvements to the GC docs.
Also, drop reference to the half-baked runtime interface.

llvm-svn: 65802
2009-03-02 03:47:20 +00:00
Gordon Henriksen 3de1a09c86 Drop toy GC runtime.
llvm-svn: 65801
2009-03-02 03:46:48 +00:00
Chris Lattner 0ed1aa830b remove empty section
llvm-svn: 65800
2009-03-02 03:24:41 +00:00
Chris Lattner d434bfbdc4 more englishification
llvm-svn: 65799
2009-03-02 03:24:11 +00:00
Chris Lattner d1094e032f start translating this into Engrish and organizing it.
llvm-svn: 65797
2009-03-02 02:37:32 +00:00
Nate Begeman a9e981225e 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

llvm-svn: 65791
2009-03-01 23:44:07 +00:00
Chris Lattner 705f0b764e move gold plugin next to LTO doc in the subsystem section
llvm-svn: 65790
2009-03-01 23:42:51 +00:00
Nick Lewycky b750d2266d Add a quickstart example.
llvm-svn: 65789
2009-03-01 21:55:10 +00:00
Nick Lewycky d70c8a8da6 Close list item tag, to conform with the style in this file. It's optional
anyways.

llvm-svn: 65787
2009-03-01 21:07:44 +00:00
Nick Lewycky f268c6b2a3 Add the gold plugin page to the documentation index!
llvm-svn: 65786
2009-03-01 21:06:42 +00:00
Nick Lewycky 236e926c5b Cleanup the description of flags to llvm-gcc. Also remove stray text in the
attribution.

llvm-svn: 65785
2009-03-01 20:58:07 +00:00
Nick Lewycky 6d1fc5c7e4 Don't forget the important part. llvm-gcc -use-gold-plugin passes the right
options to gold.

llvm-svn: 65783
2009-03-01 18:48:53 +00:00
Mikhail Glushenkov 254225489a Sprinkle llvmc notes with <tt>.
Also removes some trailing whitespace.

llvm-svn: 65781
2009-03-01 18:09:47 +00:00
Gabor Greif 144fa6a08a Another sentinel optimization. This one should always
be a win, since almost every interesting function has at least one Argument.

llvm-svn: 65778
2009-03-01 17:13:15 +00:00
Gabor Greif 6f8d4ae3c0 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.

llvm-svn: 65776
2009-03-01 16:38:10 +00:00
Duncan Sands 491f9e89ae Functions marked malloc are noalias return.
llvm-svn: 65775
2009-03-01 16:19:31 +00:00
Duncan Sands 3d23bb03c1 Tweak this a bit.
llvm-svn: 65772
2009-03-01 15:19:03 +00:00
Duncan Sands ef821b5fbe Adjust this test for recent llvm-gcc changes.
llvm-svn: 65771
2009-03-01 15:01:51 +00:00
Nick Lewycky b603c73e76 Fix grammar.
llvm-svn: 65769
2009-03-01 09:51:07 +00:00
Gabor Greif b122c4cb1d fix a comment
llvm-svn: 65768
2009-03-01 09:45:52 +00:00
Gabor Greif 19b2d443b5 Fix a typo. Thanks baldrick!
llvm-svn: 65767
2009-03-01 09:43:41 +00:00
Nick Lewycky 0a71fa9dc3 First pass at a document describing how to achieve LTO on Linux with gold.
llvm-svn: 65766
2009-03-01 09:38:29 +00:00
Duncan Sands 2166cb7673 Another point to mention.
llvm-svn: 65765
2009-03-01 08:26:19 +00:00
Bill Wendling 38eae046cf 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.

llvm-svn: 65758
2009-03-01 03:55:12 +00:00
Chris Lattner c92d769b41 add some llvmc notes from Mikhail
llvm-svn: 65756
2009-03-01 02:30:21 +00:00
Chris Lattner e2bb5e31c8 hoist the check for alloca size up so that it controls CanConvertToScalar
as well as isSafeAllocaToScalarRepl.

llvm-svn: 65755
2009-03-01 02:26:47 +00:00
Evan Cheng c2f95b56db 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.

llvm-svn: 65752
2009-03-01 02:03:43 +00:00
Chris Lattner 25f282f566 tweak this to accept asmprinter changes. I have no way to verify this, hopefully
the buildbot will work.

llvm-svn: 65750
2009-03-01 01:28:40 +00:00
Chris Lattner 242d91a476 simplify handling "don't print top level name" processing, so that we get
stuff like %A = type { %A*} instead of an upref.

llvm-svn: 65748
2009-03-01 01:16:21 +00:00