Bob Wilson
85cefe8567
Generalize BuildVectorSDNode::isConstantSplat to use APInts and handle
...
arbitrary vector sizes. Add an optional MinSplatBits parameter to specify
a minimum for the splat element size. Update the PPC target to use the
revised interface.
llvm-svn: 65899
2009-03-02 23:24:16 +00:00
Bill Wendling
a347bc6700
Document the -gcc-tool-args bugpoint option.
...
llvm-svn: 65897
2009-03-02 23:15:59 +00:00
Bill Wendling
bf5d827194
Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
...
but passes the arguments to the "gcc" invocation instead of to the "llc"
invocation.
llvm-svn: 65896
2009-03-02 23:13:18 +00:00
Nate Begeman
aa06843c56
Fix the calculation for how big the allocated stub needs to be.
...
llvm-svn: 65895
2009-03-02 23:10:14 +00:00
Devang Patel
49d64927e1
Remove all dbg symobls, including those with circular references.
...
This is ugly, but I can't figure out a quick way out of this.
llvm-svn: 65889
2009-03-02 22:50:58 +00:00
Chris Lattner
bab4417e05
Fix main executable path name resolution on FreeBSD, patch by
...
Ed Schouten!
llvm-svn: 65882
2009-03-02 22:17:15 +00:00
Daniel Dunbar
3854762d92
Add some more clang related release notes.
...
llvm-svn: 65868
2009-03-02 20:08:12 +00:00
Gabor Greif
659b0f3063
drop support for GCC 2.x as it is hopelessly broken anyway
...
llvm-svn: 65864
2009-03-02 19:49:29 +00:00
Tanya Lattner
8ae22cba41
Remove incorrect information about fortran on Darwin.
...
llvm-svn: 65859
2009-03-02 19:38:59 +00:00
Gabor Greif
6b30968114
fix broken GCC bugzilla link
...
llvm-svn: 65858
2009-03-02 19:11:53 +00:00
Gabor Greif
143bf8b5cd
add a Q/A on broken GCCs
...
llvm-svn: 65857
2009-03-02 19:08:05 +00:00
Chris Lattner
0c72d8f305
update blurb per Shannon Weyrick.
...
llvm-svn: 65856
2009-03-02 19:07:24 +00:00
Duncan Sands
d16340c846
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).
llvm-svn: 65846
2009-03-02 16:58:00 +00:00
Duncan Sands
2dbb00ea9a
Use GCC not gcc, like everywhere else in this document.
...
llvm-svn: 65845
2009-03-02 16:35:57 +00:00
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
Bob Wilson
d8ea0e144e
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
89d856e9e0
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
84516481f2
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
Chris Lattner
3c4f6be2b4
adjust for asmprinter change.
...
llvm-svn: 65741
2009-03-01 00:26:51 +00:00
Chris Lattner
fb97bdc6a7
adjust for asmprinter change.
...
llvm-svn: 65740
2009-03-01 00:25:46 +00:00
Chris Lattner
b23aad01de
adjust test to make it more robust
...
llvm-svn: 65739
2009-03-01 00:24:40 +00:00
Chris Lattner
3243ea111e
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.
llvm-svn: 65738
2009-03-01 00:03:38 +00:00
Chris Lattner
92c5c12bdb
move type name population out of TypePrinting class into a static
...
AsmWriter.cpp method.
llvm-svn: 65736
2009-02-28 23:20:19 +00:00
Chris Lattner
3339d7f8bc
switch to densemap for pointer->word map.
...
llvm-svn: 65735
2009-02-28 23:03:55 +00:00
Chris Lattner
b543cae7d6
delete a bunch of duplicated type printing logic, using the type printing
...
stuff in AsmWriter.cpp for Type::getDescription().
llvm-svn: 65734
2009-02-28 23:01:57 +00:00
Chris Lattner
63220af1ca
make this work when constructed with a null module*
...
llvm-svn: 65733
2009-02-28 23:01:30 +00:00
Gabor Greif
d07987f5b6
add description how the ilist_traits<Instruction> works
...
llvm-svn: 65732
2009-02-28 22:46:37 +00:00
Chris Lattner
faaa7ac1f2
the module is not required to exist, allow it to default, giving this
...
class a nice default ctor.
llvm-svn: 65731
2009-02-28 22:41:33 +00:00
Chris Lattner
3a5e4d7a2e
disable copying and assignment.
...
llvm-svn: 65730
2009-02-28 22:35:24 +00:00
Chris Lattner
3ad4682b23
expose TypePrinting as a public API.
...
llvm-svn: 65729
2009-02-28 22:34:45 +00:00
Chris Lattner
e2a87a98b3
one less space, fixes failure with rebuilt llvm-gcc.
...
llvm-svn: 65728
2009-02-28 22:20:02 +00:00
Bill Wendling
050ee8fb8d
Fix grammaro.
...
llvm-svn: 65727
2009-02-28 22:12:54 +00:00
Chris Lattner
06a2321051
rename 'Result' to 'OS' in CalcTypeName for consistency
...
llvm-svn: 65724
2009-02-28 21:27:31 +00:00
Chris Lattner
e101c44d77
do not embed the raw_ostream into TypePrinting, pass it as an argument to print etc.
...
llvm-svn: 65723
2009-02-28 21:26:53 +00:00
Chris Lattner
68318b1535
stop calling Type::getDescription().
...
llvm-svn: 65722
2009-02-28 21:18:43 +00:00
Chris Lattner
2ee62d28c1
simplifications
...
llvm-svn: 65721
2009-02-28 21:11:05 +00:00
Chris Lattner
24025261d3
Change WriteTypeSymbolic to not put a space out before types, also, remove
...
the old std::ostream version.
llvm-svn: 65720
2009-02-28 21:05:51 +00:00
Chris Lattner
40959d03cb
make CalcTypeName take a stream instead of a string to concat onto,
...
eliminate redundant opaque handling code.
llvm-svn: 65716
2009-02-28 20:49:40 +00:00
Chris Lattner
eb23f87289
remove a bunch of nearly-duplicated code.
...
llvm-svn: 65715
2009-02-28 20:40:29 +00:00
Chris Lattner
07d8829df9
fix indentation, remove dead integer case.
...
llvm-svn: 65714
2009-02-28 20:35:42 +00:00
Chris Lattner
765338decf
pull calcTypeName into TypePrinting class, make its type stack
...
be a smallvector instead of vector.
llvm-svn: 65713
2009-02-28 20:34:19 +00:00
Chris Lattner
7b394e87ff
inline method into its only use and simplify the result.
...
llvm-svn: 65712
2009-02-28 20:31:14 +00:00
Chris Lattner
1273471795
simplify condition
...
llvm-svn: 65711
2009-02-28 20:28:50 +00:00
Chris Lattner
0f57895708
start refactoring the .ll printer: introduce a new TypePrinting class
...
and move all related stuff to it.
llvm-svn: 65710
2009-02-28 20:25:14 +00:00
Chris Lattner
fb23a968ad
add a stub for Roadsend PHP
...
llvm-svn: 65705
2009-02-28 18:58:01 +00:00
Chris Lattner
361bfcd932
don't use the word 'aggregate' with constants, it is confusing.
...
llvm-svn: 65702
2009-02-28 18:32:25 +00:00
Chris Lattner
789dee38a5
don't redescribe bitcast constraints in two places. It is not valid to
...
bitcast from one aggregate to another.
llvm-svn: 65700
2009-02-28 18:27:03 +00:00
Chris Lattner
bb1fe8abdd
reject 0 element vectors with:
...
@a = internal constant void bitcast(<0 x i8> <> to void)
^
Fixes PR3685
llvm-svn: 65698
2009-02-28 18:12:41 +00:00
Nick Lewycky
cd5b1443bb
Update this text for first-class aggregates.
...
llvm-svn: 65697
2009-02-28 17:30:06 +00:00
Bill Wendling
638b836aab
Fix typo. Found by William Moss.
...
llvm-svn: 65693
2009-02-28 12:26:34 +00:00
Bill Wendling
6311d06b2f
There is a way to specify targets that should succeed. It's the "XTARGET"
...
keyword.
llvm-svn: 65692
2009-02-28 12:11:01 +00:00