Nate Begeman [Wed, 4 Mar 2009 19:10:38 +0000 (19:10 +0000)]
Fix a thinko in the JIT where the address of a GV was only recorded in the map
on failure to resolve it.
Do not abort on failure to resolve an external symbol when using dlsym stubs,
since the symbol may not be in the JIT's address space. Just use 0.
Allow dlsym stubs to differentiate between GlobalVars and Functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66050
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 4 Mar 2009 17:47:01 +0000 (17:47 +0000)]
Fix BuildVectorSDNode::isConstantSplat to handle one-element vectors.
It is an error to call APInt::zext with a size that is equal to the value's
current size, so use zextOrTrunc instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66039
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 4 Mar 2009 14:14:37 +0000 (14:14 +0000)]
.emacs file bits for automatically setting the llvm.org coding style. Thanks Anton.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66032
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 4 Mar 2009 08:52:31 +0000 (08:52 +0000)]
Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66029
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 4 Mar 2009 06:57:48 +0000 (06:57 +0000)]
"Ghostify" embedded sentinels. This is a real win in all cases
because less bytes are allocated and subobject construction is gone.
For reference how it works, see BasicBlock.h.
Btw. it is very assuring to see that somebody has invented
this ilist-embedded sentinel technique before me :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66026
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 4 Mar 2009 06:48:53 +0000 (06:48 +0000)]
Fix PR3666: isel calls to constant addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66024
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 4 Mar 2009 06:23:34 +0000 (06:23 +0000)]
PR3686: make the legalizer handle bitcast from i80 to x86 long double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66021
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 4 Mar 2009 03:54:19 +0000 (03:54 +0000)]
Revert r66004 for now; it's causing a variety of test failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66008
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 4 Mar 2009 02:47:25 +0000 (02:47 +0000)]
Rename test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66006
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 4 Mar 2009 02:33:24 +0000 (02:33 +0000)]
Teach the x86 backend to eliminate "test" instructions by using the EFLAGS
result from add, sub, inc, and dec instructions in simple cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66004
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 4 Mar 2009 02:09:48 +0000 (02:09 +0000)]
Revert unintended commmit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66001
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 4 Mar 2009 02:06:53 +0000 (02:06 +0000)]
Skip ptr-to-ptr bitcasts when counting in another case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66000
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 4 Mar 2009 01:53:05 +0000 (01:53 +0000)]
Always skip ptr-to-ptr bitcasts when counting,
per Chris' suggestion. Slightly faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65999
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 4 Mar 2009 01:41:49 +0000 (01:41 +0000)]
Fix PR3701. 1. X86 target renamed eflags register to flags. This matches what llvm-gcc generates so codegen knows flags register is being clobbered by inline asm. 2. BURR scheduler should also check if inline asm nodes can clobber "live" physical registers. Previously it was only checking target nodes with implicit defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65996
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 4 Mar 2009 01:22:23 +0000 (01:22 +0000)]
If a global constant is dead then global's debug info should not prevent the optimizer in deleting the global. And while deleting global, delete global's debug info also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65994
91177308-0d34-0410-b5e6-
96231b3b80d8
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