1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
Commit Graph

44953 Commits

Author SHA1 Message Date
Gabor Greif
0ee8d1d896 note the removal of deprecated interfaces
llvm-svn: 65841
2009-03-02 12:23:55 +00:00
Gabor Greif
f30dc30eea fix typo
llvm-svn: 65839
2009-03-02 12:10:56 +00:00
Gabor Greif
a7245a7764 minor tweaks
llvm-svn: 65838
2009-03-02 12:02:51 +00:00
Gabor Greif
744adc4f8c minor tweaks
llvm-svn: 65837
2009-03-02 11:34:51 +00:00
Mikhail Glushenkov
5d2b946f51 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
d12730ac42 Add more notes for VMKit.
llvm-svn: 65833
2009-03-02 09:25:38 +00:00
Duncan Sands
51ce06c788 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
a79911a965 Move the rules for building plugins to Makefile.rules.
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov
07e209b7b0 Fix build with objdir != srcdir.
llvm-svn: 65826
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov
3f2bbd6301 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
6987e30144 Cosmetic fixes: include guards.
llvm-svn: 65824
2009-03-02 09:02:28 +00:00
Mikhail Glushenkov
0ce41a4c26 Plugin::Priority() doesn't need to be pure virtual.
llvm-svn: 65823
2009-03-02 09:02:01 +00:00
Mikhail Glushenkov
1a0ddf169b Add a comment.
llvm-svn: 65822
2009-03-02 09:01:39 +00:00
Mikhail Glushenkov
3cde18e191 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
b46b800ce0 Random formatting changes.
llvm-svn: 65815
2009-03-02 07:54:14 +00:00
Bill Wendling
b707c17bf4 Fix typos.
llvm-svn: 65813
2009-03-02 07:42:15 +00:00
Bill Wendling
18ab6088d8 Change </pp> to </p>.
llvm-svn: 65804
2009-03-02 04:28:57 +00:00
Bill Wendling
187e889dab - Use "real-world applications" instead of just "real applications".
- Verification Fixes.

llvm-svn: 65803
2009-03-02 04:28:18 +00:00
Gordon Henriksen
34de4eed33 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
ba66b036b5 Drop toy GC runtime.
llvm-svn: 65801
2009-03-02 03:46:48 +00:00
Chris Lattner
e2117f1ecb remove empty section
llvm-svn: 65800
2009-03-02 03:24:41 +00:00
Chris Lattner
1b279d2378 more englishification
llvm-svn: 65799
2009-03-02 03:24:11 +00:00
Chris Lattner
0f9e9e7719 start translating this into Engrish and organizing it.
llvm-svn: 65797
2009-03-02 02:37:32 +00:00
Nate Begeman
6b41d33726 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
cccb2fb989 move gold plugin next to LTO doc in the subsystem section
llvm-svn: 65790
2009-03-01 23:42:51 +00:00
Nick Lewycky
b999b7b64e Add a quickstart example.
llvm-svn: 65789
2009-03-01 21:55:10 +00:00
Nick Lewycky
1b26d345cc 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
5c799fd8dd Add the gold plugin page to the documentation index!
llvm-svn: 65786
2009-03-01 21:06:42 +00:00
Nick Lewycky
57d7512427 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
4c751eeddf 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
6336c61b2c Sprinkle llvmc notes with <tt>.
Also removes some trailing whitespace.

llvm-svn: 65781
2009-03-01 18:09:47 +00:00
Gabor Greif
3f56efbf04 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
dc34b050a2 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
b55953cfc0 Functions marked malloc are noalias return.
llvm-svn: 65775
2009-03-01 16:19:31 +00:00
Duncan Sands
2efa31c91e Tweak this a bit.
llvm-svn: 65772
2009-03-01 15:19:03 +00:00
Duncan Sands
2a1baecb38 Adjust this test for recent llvm-gcc changes.
llvm-svn: 65771
2009-03-01 15:01:51 +00:00
Nick Lewycky
329a7285b4 Fix grammar.
llvm-svn: 65769
2009-03-01 09:51:07 +00:00
Gabor Greif
9849b23219 fix a comment
llvm-svn: 65768
2009-03-01 09:45:52 +00:00
Gabor Greif
9b3fe3d625 Fix a typo. Thanks baldrick!
llvm-svn: 65767
2009-03-01 09:43:41 +00:00
Nick Lewycky
f4cf146789 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
ac0ff99803 Another point to mention.
llvm-svn: 65765
2009-03-01 08:26:19 +00:00
Bill Wendling
0dd6d44518 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
543d2057f9 add some llvmc notes from Mikhail
llvm-svn: 65756
2009-03-01 02:30:21 +00:00
Chris Lattner
7228db7662 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
276f9b02c5 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
50be1d46f2 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
0cefb564d4 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
Bob Wilson
7482f84ae6 Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new
method in a BuildVectorSDNode "pseudo-class".

llvm-svn: 65747
2009-03-01 01:13:55 +00:00
Chris Lattner
a9611661b0 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.

llvm-svn: 65743
2009-03-01 00:53:13 +00:00
Chris Lattner
94224fe3d1 walk type symbol table also, so we get:
type opaque		; type %0
	%C = type { %0, %0 }

instead of:

	%C = type { opaque, opaque }

when appropriate.

llvm-svn: 65742
2009-03-01 00:32:33 +00:00