oota-llvm.git
15 years agoWhen sinking an insn in InstCombine bring its debug
Dale Johannesen [Tue, 3 Mar 2009 01:09:07 +0000 (01:09 +0000)]
When sinking an insn in InstCombine bring its debug
info with it.
Don't count debug info insns against the scan maximum
in FindAvailableLoadedValue (lest they affect codegen).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65910 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIgnore debug info intrinsics.
Devang Patel [Tue, 3 Mar 2009 00:28:44 +0000 (00:28 +0000)]
Ignore debug info intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65908 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf branch conditions' one successor is dominating another non-latch successor then...
Devang Patel [Mon, 2 Mar 2009 23:39:14 +0000 (23:39 +0000)]
If branch conditions' one successor is dominating another non-latch successor then this loop's iteration space can not be restricted. In this example block bb5 is always executed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65902 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGeneralize BuildVectorSDNode::isConstantSplat to use APInts and handle
Bob Wilson [Mon, 2 Mar 2009 23:24:16 +0000 (23:24 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65899 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDocument the -gcc-tool-args bugpoint option.
Bill Wendling [Mon, 2 Mar 2009 23:15:59 +0000 (23:15 +0000)]
Document the -gcc-tool-args bugpoint option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65897 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
Bill Wendling [Mon, 2 Mar 2009 23:13:18 +0000 (23:13 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65896 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the calculation for how big the allocated stub needs to be.
Nate Begeman [Mon, 2 Mar 2009 23:10:14 +0000 (23:10 +0000)]
Fix the calculation for how big the allocated stub needs to be.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65895 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove all dbg symobls, including those with circular references.
Devang Patel [Mon, 2 Mar 2009 22:50:58 +0000 (22:50 +0000)]
Remove all dbg symobls, including those with circular references.

This is ugly, but I can't figure out a quick way out of this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65889 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix main executable path name resolution on FreeBSD, patch by
Chris Lattner [Mon, 2 Mar 2009 22:17:15 +0000 (22:17 +0000)]
Fix main executable path name resolution on FreeBSD, patch by
Ed Schouten!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65882 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some more clang related release notes.
Daniel Dunbar [Mon, 2 Mar 2009 20:08:12 +0000 (20:08 +0000)]
Add some more clang related release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65868 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodrop support for GCC 2.x as it is hopelessly broken anyway
Gabor Greif [Mon, 2 Mar 2009 19:49:29 +0000 (19:49 +0000)]
drop support for GCC 2.x as it is hopelessly broken anyway

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65864 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove incorrect information about fortran on Darwin.
Tanya Lattner [Mon, 2 Mar 2009 19:38:59 +0000 (19:38 +0000)]
Remove incorrect information about fortran on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65859 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix broken GCC bugzilla link
Gabor Greif [Mon, 2 Mar 2009 19:11:53 +0000 (19:11 +0000)]
fix broken GCC bugzilla link

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65858 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a Q/A on broken GCCs
Gabor Greif [Mon, 2 Mar 2009 19:08:05 +0000 (19:08 +0000)]
add a Q/A on broken GCCs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65857 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoupdate blurb per Shannon Weyrick.
Chris Lattner [Mon, 2 Mar 2009 19:07:24 +0000 (19:07 +0000)]
update blurb per Shannon Weyrick.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65856 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTry to make the meaning of 'nocapture' a bit clearer. I
Duncan Sands [Mon, 2 Mar 2009 16:58:00 +0000 (16:58 +0000)]
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

15 years agoUse GCC not gcc, like everywhere else in this document.
Duncan Sands [Mon, 2 Mar 2009 16:35:57 +0000 (16:35 +0000)]
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

15 years agoGrammar and punctuation fixes.
John Criswell [Mon, 2 Mar 2009 15:28:15 +0000 (15:28 +0000)]
Grammar and punctuation fixes.
No content changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65844 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDeclare Sentinel fragments as mutable to get rid
Gabor Greif [Mon, 2 Mar 2009 14:47:45 +0000 (14:47 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65843 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove a deprecated interface that was pretty useless
Gabor Greif [Mon, 2 Mar 2009 12:42:07 +0000 (12:42 +0000)]
remove a deprecated interface that was pretty useless

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65842 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agonote the removal of deprecated interfaces
Gabor Greif [Mon, 2 Mar 2009 12:23:55 +0000 (12:23 +0000)]
note the removal of deprecated interfaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65841 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix typo
Gabor Greif [Mon, 2 Mar 2009 12:10:56 +0000 (12:10 +0000)]
fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65839 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agominor tweaks
Gabor Greif [Mon, 2 Mar 2009 12:02:51 +0000 (12:02 +0000)]
minor tweaks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65838 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agominor tweaks
Gabor Greif [Mon, 2 Mar 2009 11:34:51 +0000 (11:34 +0000)]
minor tweaks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65837 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove duplication in Makefile.rules.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:42:59 +0000 (09:42 +0000)]
Remove duplication in Makefile.rules.

Merge common bits from the LLVMC and TABLEGEN sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65834 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd more notes for VMKit.
Nicolas Geoffray [Mon, 2 Mar 2009 09:25:38 +0000 (09:25 +0000)]
Add more notes for VMKit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65833 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR3694: add an instcombine micro-optimization that helps
Duncan Sands [Mon, 2 Mar 2009 09:18:21 +0000 (09:18 +0000)]
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

15 years agoMove the rules for building plugins to Makefile.rules.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:04:13 +0000 (09:04 +0000)]
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

15 years agoFix build with objdir != srcdir.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:03:36 +0000 (09:03 +0000)]
Fix build with objdir != srcdir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65826 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove code from Main.cpp to the include dir.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:03:02 +0000 (09:03 +0000)]
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

15 years agoCosmetic fixes: include guards.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:02:28 +0000 (09:02 +0000)]
Cosmetic fixes: include guards.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65824 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPlugin::Priority() doesn't need to be pure virtual.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:02:01 +0000 (09:02 +0000)]
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

15 years agoAdd a comment.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:01:39 +0000 (09:01 +0000)]
Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65822 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReorganize llvmc code.
Mikhail Glushenkov [Mon, 2 Mar 2009 09:01:14 +0000 (09:01 +0000)]
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

15 years agoRandom formatting changes.
Bill Wendling [Mon, 2 Mar 2009 07:54:14 +0000 (07:54 +0000)]
Random formatting changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65815 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix typos.
Bill Wendling [Mon, 2 Mar 2009 07:42:15 +0000 (07:42 +0000)]
Fix typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65813 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange </pp> to </p>.
Bill Wendling [Mon, 2 Mar 2009 04:28:57 +0000 (04:28 +0000)]
Change </pp> to </p>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65804 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Use "real-world applications" instead of just "real applications".
Bill Wendling [Mon, 2 Mar 2009 04:28:18 +0000 (04:28 +0000)]
- 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

15 years agoMake some improvements to the GC docs.
Gordon Henriksen [Mon, 2 Mar 2009 03:47:20 +0000 (03:47 +0000)]
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

15 years agoDrop toy GC runtime.
Gordon Henriksen [Mon, 2 Mar 2009 03:46:48 +0000 (03:46 +0000)]
Drop toy GC runtime.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65801 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove empty section
Chris Lattner [Mon, 2 Mar 2009 03:24:41 +0000 (03:24 +0000)]
remove empty section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65800 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomore englishification
Chris Lattner [Mon, 2 Mar 2009 03:24:11 +0000 (03:24 +0000)]
more englishification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65799 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agostart translating this into Engrish and organizing it.
Chris Lattner [Mon, 2 Mar 2009 02:37:32 +0000 (02:37 +0000)]
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

15 years agoFix a problem with DAGCombine on 64b targets where folding
Nate Begeman [Sun, 1 Mar 2009 23:44:07 +0000 (23:44 +0000)]
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

15 years agomove gold plugin next to LTO doc in the subsystem section
Chris Lattner [Sun, 1 Mar 2009 23:42:51 +0000 (23:42 +0000)]
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

15 years agoAdd a quickstart example.
Nick Lewycky [Sun, 1 Mar 2009 21:55:10 +0000 (21:55 +0000)]
Add a quickstart example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65789 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClose list item tag, to conform with the style in this file. It's optional
Nick Lewycky [Sun, 1 Mar 2009 21:07:44 +0000 (21:07 +0000)]
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

15 years agoAdd the gold plugin page to the documentation index!
Nick Lewycky [Sun, 1 Mar 2009 21:06:42 +0000 (21:06 +0000)]
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

15 years agoCleanup the description of flags to llvm-gcc. Also remove stray text in the
Nick Lewycky [Sun, 1 Mar 2009 20:58:07 +0000 (20:58 +0000)]
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

15 years agoDon't forget the important part. llvm-gcc -use-gold-plugin passes the right
Nick Lewycky [Sun, 1 Mar 2009 18:48:53 +0000 (18:48 +0000)]
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

15 years agoSprinkle llvmc notes with <tt>.
Mikhail Glushenkov [Sun, 1 Mar 2009 18:09:47 +0000 (18:09 +0000)]
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

15 years agoAnother sentinel optimization. This one should always
Gabor Greif [Sun, 1 Mar 2009 17:13:15 +0000 (17:13 +0000)]
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

15 years agoReuse a technique (pioneered for BasicBlocks) of superposing ilist with
Gabor Greif [Sun, 1 Mar 2009 16:38:10 +0000 (16:38 +0000)]
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

15 years agoFunctions marked malloc are noalias return.
Duncan Sands [Sun, 1 Mar 2009 16:19:31 +0000 (16:19 +0000)]
Functions marked malloc are noalias return.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65775 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak this a bit.
Duncan Sands [Sun, 1 Mar 2009 15:19:03 +0000 (15:19 +0000)]
Tweak this a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65772 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdjust this test for recent llvm-gcc changes.
Duncan Sands [Sun, 1 Mar 2009 15:01:51 +0000 (15:01 +0000)]
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

15 years agoFix grammar.
Nick Lewycky [Sun, 1 Mar 2009 09:51:07 +0000 (09:51 +0000)]
Fix grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65769 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix a comment
Gabor Greif [Sun, 1 Mar 2009 09:45:52 +0000 (09:45 +0000)]
fix a comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65768 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a typo. Thanks baldrick!
Gabor Greif [Sun, 1 Mar 2009 09:43:41 +0000 (09:43 +0000)]
Fix a typo. Thanks baldrick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65767 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFirst pass at a document describing how to achieve LTO on Linux with gold.
Nick Lewycky [Sun, 1 Mar 2009 09:38:29 +0000 (09:38 +0000)]
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

15 years agoAnother point to mention.
Duncan Sands [Sun, 1 Mar 2009 08:26:19 +0000 (08:26 +0000)]
Another point to mention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65765 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTemporarily revert r65755. It was causing failures in the self-hosting
Bill Wendling [Sun, 1 Mar 2009 03:55:12 +0000 (03:55 +0000)]
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

15 years agoadd some llvmc notes from Mikhail
Chris Lattner [Sun, 1 Mar 2009 02:30:21 +0000 (02:30 +0000)]
add some llvmc notes from Mikhail

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65756 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agohoist the check for alloca size up so that it controls CanConvertToScalar
Chris Lattner [Sun, 1 Mar 2009 02:26:47 +0000 (02:26 +0000)]
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

15 years agoMinor optimization:
Evan Cheng [Sun, 1 Mar 2009 02:03:43 +0000 (02:03 +0000)]
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

15 years agotweak this to accept asmprinter changes. I have no way to verify this, hopefully
Chris Lattner [Sun, 1 Mar 2009 01:28:40 +0000 (01:28 +0000)]
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

15 years agosimplify handling "don't print top level name" processing, so that we get
Chris Lattner [Sun, 1 Mar 2009 01:16:21 +0000 (01:16 +0000)]
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

15 years agoCombine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new
Bob Wilson [Sun, 1 Mar 2009 01:13:55 +0000 (01:13 +0000)]
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

15 years agoFix a pretty awesome bug that only happened in a strange case with anonymous
Chris Lattner [Sun, 1 Mar 2009 00:53:13 +0000 (00:53 +0000)]
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

15 years agowalk type symbol table also, so we get:
Chris Lattner [Sun, 1 Mar 2009 00:32:33 +0000 (00:32 +0000)]
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

15 years agoadjust for asmprinter change.
Chris Lattner [Sun, 1 Mar 2009 00:26:51 +0000 (00:26 +0000)]
adjust for asmprinter change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65741 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadjust for asmprinter change.
Chris Lattner [Sun, 1 Mar 2009 00:25:46 +0000 (00:25 +0000)]
adjust for asmprinter change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65740 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadjust test to make it more robust
Chris Lattner [Sun, 1 Mar 2009 00:24:40 +0000 (00:24 +0000)]
adjust test to make it more robust

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65739 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a long-standing bug and misfeature of the disassembler: when dealing with a
Chris Lattner [Sun, 1 Mar 2009 00:03:38 +0000 (00:03 +0000)]
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

15 years agomove type name population out of TypePrinting class into a static
Chris Lattner [Sat, 28 Feb 2009 23:20:19 +0000 (23:20 +0000)]
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

15 years agoswitch to densemap for pointer->word map.
Chris Lattner [Sat, 28 Feb 2009 23:03:55 +0000 (23:03 +0000)]
switch to densemap for pointer->word map.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65735 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodelete a bunch of duplicated type printing logic, using the type printing
Chris Lattner [Sat, 28 Feb 2009 23:01:57 +0000 (23:01 +0000)]
delete a bunch of duplicated type printing logic, using the type printing
stuff in AsmWriter.cpp for Type::getDescription().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65734 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake this work when constructed with a null module*
Chris Lattner [Sat, 28 Feb 2009 23:01:30 +0000 (23:01 +0000)]
make this work when constructed with a null module*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65733 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd description how the ilist_traits<Instruction> works
Gabor Greif [Sat, 28 Feb 2009 22:46:37 +0000 (22:46 +0000)]
add description how the ilist_traits<Instruction> works

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65732 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agothe module is not required to exist, allow it to default, giving this
Chris Lattner [Sat, 28 Feb 2009 22:41:33 +0000 (22:41 +0000)]
the module is not required to exist, allow it to default, giving this
class a nice default ctor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65731 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodisable copying and assignment.
Chris Lattner [Sat, 28 Feb 2009 22:35:24 +0000 (22:35 +0000)]
disable copying and assignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65730 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoexpose TypePrinting as a public API.
Chris Lattner [Sat, 28 Feb 2009 22:34:45 +0000 (22:34 +0000)]
expose TypePrinting as a public API.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65729 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoone less space, fixes failure with rebuilt llvm-gcc.
Chris Lattner [Sat, 28 Feb 2009 22:20:02 +0000 (22:20 +0000)]
one less space, fixes failure with rebuilt llvm-gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65728 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix grammaro.
Bill Wendling [Sat, 28 Feb 2009 22:12:54 +0000 (22:12 +0000)]
Fix grammaro.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65727 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename 'Result' to 'OS' in CalcTypeName for consistency
Chris Lattner [Sat, 28 Feb 2009 21:27:31 +0000 (21:27 +0000)]
rename 'Result' to 'OS' in CalcTypeName for consistency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65724 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodo not embed the raw_ostream into TypePrinting, pass it as an argument to print etc.
Chris Lattner [Sat, 28 Feb 2009 21:26:53 +0000 (21:26 +0000)]
do not embed the raw_ostream into TypePrinting, pass it as an argument to print etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65723 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agostop calling Type::getDescription().
Chris Lattner [Sat, 28 Feb 2009 21:18:43 +0000 (21:18 +0000)]
stop calling Type::getDescription().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65722 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agosimplifications
Chris Lattner [Sat, 28 Feb 2009 21:11:05 +0000 (21:11 +0000)]
simplifications

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65721 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange WriteTypeSymbolic to not put a space out before types, also, remove
Chris Lattner [Sat, 28 Feb 2009 21:05:51 +0000 (21:05 +0000)]
Change WriteTypeSymbolic to not put a space out before types, also, remove
the old std::ostream version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65720 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake CalcTypeName take a stream instead of a string to concat onto,
Chris Lattner [Sat, 28 Feb 2009 20:49:40 +0000 (20:49 +0000)]
make CalcTypeName take a stream instead of a string to concat onto,
eliminate redundant opaque handling code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65716 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove a bunch of nearly-duplicated code.
Chris Lattner [Sat, 28 Feb 2009 20:40:29 +0000 (20:40 +0000)]
remove a bunch of nearly-duplicated code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65715 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix indentation, remove dead integer case.
Chris Lattner [Sat, 28 Feb 2009 20:35:42 +0000 (20:35 +0000)]
fix indentation, remove dead integer case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65714 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopull calcTypeName into TypePrinting class, make its type stack
Chris Lattner [Sat, 28 Feb 2009 20:34:19 +0000 (20:34 +0000)]
pull calcTypeName into TypePrinting class, make its type stack
be a smallvector instead of vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65713 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoinline method into its only use and simplify the result.
Chris Lattner [Sat, 28 Feb 2009 20:31:14 +0000 (20:31 +0000)]
inline method into its only use and simplify the result.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65712 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agosimplify condition
Chris Lattner [Sat, 28 Feb 2009 20:28:50 +0000 (20:28 +0000)]
simplify condition

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65711 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agostart refactoring the .ll printer: introduce a new TypePrinting class
Chris Lattner [Sat, 28 Feb 2009 20:25:14 +0000 (20:25 +0000)]
start refactoring the .ll printer: introduce a new TypePrinting class
and move all related stuff to it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65710 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a stub for Roadsend PHP
Chris Lattner [Sat, 28 Feb 2009 18:58:01 +0000 (18:58 +0000)]
add a stub for Roadsend PHP

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65705 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodon't use the word 'aggregate' with constants, it is confusing.
Chris Lattner [Sat, 28 Feb 2009 18:32:25 +0000 (18:32 +0000)]
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

15 years agodon't redescribe bitcast constraints in two places. It is not valid to
Chris Lattner [Sat, 28 Feb 2009 18:27:03 +0000 (18:27 +0000)]
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

15 years agoreject 0 element vectors with:
Chris Lattner [Sat, 28 Feb 2009 18:12:41 +0000 (18:12 +0000)]
reject 0 element vectors with:
@a = internal constant void bitcast(<0 x i8> <> to void)
                                     ^

Fixes PR3685

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65698 91177308-0d34-0410-b5e6-96231b3b80d8