Dale Johannesen [Wed, 4 Mar 2009 01:20:34 +0000 (01:20 +0000)]
Make my earlier patch to skip debug intrinsics
when counting work; it was only off by 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65993
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 4 Mar 2009 01:14:28 +0000 (01:14 +0000)]
Temporarily revert 65975, which breaks the llvm-gcc build.
While the patch is clearly correct in itself, it's become
apparent other places are assuming debug intrinsics are
marked as touching memory...this needs more testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65992
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 4 Mar 2009 00:18:06 +0000 (00:18 +0000)]
The DAG combiner was performing a BT combine. The BT combine had a value of -1,
so it changed it into a 31 via the TLO.ShrinkDemandedConstant() call. Then it
would go through the DAG combiner again. This time it had a value of 31, which
was turned into a -1 by TLI.SimplifyDemandedBits(). This would ping pong
forever.
Teach the TLO.ShrinkDemandedConstant() call not to lower a value if the demanded
value is an XOR of all ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65985
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 3 Mar 2009 23:30:00 +0000 (23:30 +0000)]
Marking debug info intrinsics as not touching memory
caused them to be considered trivially dead. Fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65979
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 3 Mar 2009 22:36:47 +0000 (22:36 +0000)]
Instruction counters must skip the bitcasts that
feed into llvm.dbg.declare nodes, as well as
the debug directives themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65976
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 3 Mar 2009 22:33:54 +0000 (22:33 +0000)]
Dbg Intrinsics do not access memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65975
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 3 Mar 2009 21:31:02 +0000 (21:31 +0000)]
Recursively remove dead argument while removing llvm.dbg.declare intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65971
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 3 Mar 2009 21:26:39 +0000 (21:26 +0000)]
When removing a store to an alloca that has only one
use, check also for the case where it has two uses,
the other being a llvm.dbg.declare. This is needed so
debug info doesn't affect codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Mar 2009 20:10:23 +0000 (20:10 +0000)]
don't #include a header into the middle of an anon namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65967
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 3 Mar 2009 19:53:46 +0000 (19:53 +0000)]
Add '(implicit EFLAGS)' for AND, OR, XOR, NEG, INC, and DEC
instructions. These aren't used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65965
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 3 Mar 2009 19:26:27 +0000 (19:26 +0000)]
Use early exit to reduce indentation. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65962
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 3 Mar 2009 19:25:16 +0000 (19:25 +0000)]
Remove accidental check-ins in r65960. :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65961
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 3 Mar 2009 19:18:49 +0000 (19:18 +0000)]
Use > instead of >=. We want to promote aggregates of 128-bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65960
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 3 Mar 2009 17:44:54 +0000 (17:44 +0000)]
Make a comment less terse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65953
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 3 Mar 2009 12:12:58 +0000 (12:12 +0000)]
Reapply r65755, but reversing "<" to ">=".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65945
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 11:02:48 +0000 (11:02 +0000)]
Add example/Skeleton.
This is a template that can be used to build your own LLVMC-based drivers.
It can be also useful as a "bare-bones" LLVMC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65944
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 10:04:57 +0000 (10:04 +0000)]
Comment fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65943
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 10:04:23 +0000 (10:04 +0000)]
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65942
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 10:03:53 +0000 (10:03 +0000)]
Use LLVMLIBS instead of USEDLIBS.
Since this Makefile is supposed to be usable from LLVM-based projects not in the
tree, LLVMLIBS should be used instead of USEDLIBS. This depends on my previous
fix to Makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65941
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 10:03:27 +0000 (10:03 +0000)]
LINK_COMPONENTS should be added to LLVMLibsOptions.
From the code: "There are "Proj" libs (defined by the user's project) and "LLVM"
libs (defined by the LLVM project)." LINK_COMPONENTS are clearly defined by the
LLVM project.
Additionally, this fixes an issue with llvmc's build process:-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65940
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 10:02:53 +0000 (10:02 +0000)]
Move example plugins to the example/ directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65939
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 3 Mar 2009 07:45:09 +0000 (07:45 +0000)]
ENABLE_PIC is either 0 or 1, but is always defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65938
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 3 Mar 2009 07:22:23 +0000 (07:22 +0000)]
80-column violation + trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65936
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Tue, 3 Mar 2009 06:02:04 +0000 (06:02 +0000)]
Ignore the debug info intrinsics when adding instructions into alias sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65934
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 3 Mar 2009 05:41:16 +0000 (05:41 +0000)]
This bug's been fixed but a version with the fix hasn't been released yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65931
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 3 Mar 2009 04:55:29 +0000 (04:55 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65928
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 3 Mar 2009 04:55:15 +0000 (04:55 +0000)]
Switch to using -Wl,-R on Solaris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65927
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 3 Mar 2009 03:36:50 +0000 (03:36 +0000)]
Fix build on Cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65922
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 3 Mar 2009 02:55:14 +0000 (02:55 +0000)]
Fix a bunch of Doxygen syntax issues. Escape special characters,
and put @file directives on their own comment line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65920
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 3 Mar 2009 01:43:03 +0000 (01:43 +0000)]
Don't count DebugInfo instructions in another limit
(lest they affect codegen).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65915
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 3 Mar 2009 01:10:01 +0000 (01:10 +0000)]
Testcase for line number sinking in InstCombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65911
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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