Commit Graph

511 Commits

Author SHA1 Message Date
Daniel Dunbar
55a07b20cd Add ENABLE_COVERAGE, for building a +Coverage (gcov) configuration.
- Required some extra makefile tweaks to introduce a new flag var
   which only goes to compile/link tools but not the relink step,
   otherwise we get a copy of libgcov in the relinked .o files.

 - No configure magic for this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66945 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 20:59:41 +00:00
Scott Michel
87af5f0296 Darwin 10.4.x: "-rpath" is unnecessary when linking shared libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 21:03:53 +00:00
Bill Wendling
a0833356fe Revert r66765 and r66766. These were causing build failures on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 04:10:09 +00:00
Nick Lewycky
8bc080358f Set ARCH to x86 on mixed 32/64-bit Linux systems.
Remove the explicit if OS = Darwin test around the setting of -m32/-m64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 03:34:19 +00:00
Rafael Espindola
075630a158 Fix rebuilding after a .td file is modified. This was broken since revision
65834.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66553 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 17:58:54 +00:00
Chris Lattner
1b030a116d don't pass -Wl,-exported_symbol -Wl,_main to the linker when building on
Tiger.  PR3743


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 17:15:56 +00:00
Evan Cheng
c785b4f4a6 Re-apply 66315, but restrict it to Darwin only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 18:28:37 +00:00
Chris Lattner
086c788b39 Fix PR3743 - -mmacosx-version-min inappropriate for Mac OS X 10.4.11,
by stripping off any versions past the "10.4".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66392 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 04:45:03 +00:00
Nick Lewycky
34d7455ebc Revert r66315. Fix the build on mixed 64/32 Linux systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07 22:17:05 +00:00
Evan Cheng
4b5051b0f9 If ARCH is x86_64, pass -m64 to the host compiler. -m32 for i386. This makes sure the JIT work correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07 01:40:17 +00:00
Daniel Dunbar
3c89812109 Rename my makefile debugging rule to prevent accidental collisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66294 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 22:23:25 +00:00
Mikhail Glushenkov
533384eebd 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
2009-03-03 10:03:27 +00:00
Nick Lewycky
1dace48f53 Switch to using -Wl,-R on Solaris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65927 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 04:55:15 +00:00
Nick Lewycky
1c08c0e128 Fix build on Cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 03:36:50 +00:00
Mikhail Glushenkov
1386ae4b0f 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
2009-03-02 09:42:59 +00:00
Mikhail Glushenkov
540d73f0cb 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
2009-03-02 09:04:13 +00:00
Chris Lattner
ae72ca9cb6 Fix universal builds to not use -XCClinker (a libtool thing) now that
libtool doesn't exist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 19:08:30 +00:00
Chris Lattner
c953a8853f no really, use the right path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 18:38:40 +00:00
Chris Lattner
065d7a61e2 Search for the export map in a place that it can be found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 18:37:59 +00:00
Chris Lattner
61863a3d3d strip exported symbols from tools that build with TOOL_NO_EXPORTS=1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 17:47:49 +00:00
Chris Lattner
843daf40b6 pass -mmacosx-version-min to the compiler and linker, which makes the build
substantially happier on some versions of Mac OS/X.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65542 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 17:44:38 +00:00
Nick Lewycky
b2b1c536d1 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 08:48:14 +00:00
Nick Lewycky
2be208745b Fix typo!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 08:03:36 +00:00
Nick Lewycky
a15dc035a6 Remove libtool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26 07:44:16 +00:00
Daniel Dunbar
92acef0e94 Add makefile debugging target; use "make print-FOO" to print the
value/definition/origin of FOO.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21 20:42:39 +00:00
Nick Lewycky
8e87e65d28 Pass different flags on different platforms when building PIC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21 08:41:09 +00:00
Mike Stump
b445d740b2 Avoid order files for now, as they aren't supported in 3.79.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-12 23:45:11 +00:00
Dale Johannesen
49de98214b Reapply 63765. Patches for clang and llvm-gcc to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 01:49:45 +00:00
Dale Johannesen
4d452de150 Reverting 63765. This broke the build of both clang
and llvm-gcc.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 22:47:25 +00:00
Nate Begeman
d24479730a New feature: add support for target intrinsics being defined in the
target directories themselves.  This also means that VMCore no longer
needs to know about every target's list of intrinsics.  Future work
will include converting the PowerPC target to this interface as an
example implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 19:47:21 +00:00
Mike Stump
0a26891ce9 Perform optional clang building.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24 00:00:41 +00:00
Mike Stump
e50f34a8a7 Don't create .dir files in installation directories. Switch to using
order-only dependancies for installation directories.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62746 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 03:24:22 +00:00
Mikhail Glushenkov
afa2259e36 Support llvmc plugins in out-of-tree projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09 16:31:01 +00:00
Misha Brukman
ef5dc7072f Removed trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 02:11:55 +00:00
Bill Wendling
4113bd1dc6 Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to
run the tests. Most of this was stolen from the llvm/test Makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:12:21 +00:00
Bill Wendling
dfaf4f9865 Revert r61598 as it does nothing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 22:46:50 +00:00
Bill Wendling
3aec908be1 Make sure that 'ranlib' runs only after 'ar' is completed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 01:11:39 +00:00
Chris Lattner
c9480640c2 Remove lex/bison support from makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61562 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:16:45 +00:00
Bill Wendling
b9b3a702c4 Don't error out if ranlib fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 02:53:24 +00:00
Duncan Sands
47d9dcc584 Fix PR3117: not all nodes being legalized. The
essential problem was that the DAG can contain
random unused nodes which were never analyzed.
When remapping a value of a node being processed,
such a node may become used and need to be analyzed;
however due to operands being transformed during
analysis the node may morph into a different one.
Users of the morphing node need to be updated, and
this wasn't happening.  While there I added a bunch
of documentation and sanity checks, so I (or some
other poor soul) won't have to scratch their head
over this stuff so long trying to remember how it
was all supposed to work next time some obscure
problem pops up!  The extra sanity checking exposed
a few places where invariants weren't being preserved,
so those are fixed too.  Since some of the sanity
checking is expensive, I added a flag to turn it
on.  It is also turned on when building with
ENABLE_EXPENSIVE_CHECKS=1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60797 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 21:33:20 +00:00
Evan Cheng
027fdbe3ba Move target independent td files from lib/Target/ to include/llvm/Target so they can be distributed along with the header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 07:34:46 +00:00
Anton Korobeynikov
569c45cab2 Proper way of doing llvm canadian-cross compilation.
Patch by Jim Grosbach!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58981 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 07:33:13 +00:00
Daniel Dunbar
eb909ca524 Comment fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58621 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 17:33:36 +00:00
Dan Gohman
63f97201dc Fun x86 encoding tricks: when adding an immediate value of 128,
use a SUB instruction instead of an ADD, because -128 can be
encoded in an 8-bit signed immediate field, while +128 can't be.
This avoids the need for a 32-bit immediate field in this case.

A similar optimization applies to 64-bit adds with 0x80000000,
with the 32-bit signed immediate field.

To support this, teach tablegen how to handle 64-bit constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 01:33:43 +00:00
Daniel Dunbar
ebb9f9b76d Another dependency fix, prevent ObjDir from having trailing slash.
- It turns out this is enough to completely break dependency file
   (.d) usage (at least for my gmake).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 21:24:52 +00:00
Daniel Dunbar
94e98af210 Add IS_CLEANING_TARGET Makefile variable.
- Fixes bug in dependency inclusions where make with unspecified
   target wouldn't include dependency files, eek!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57026 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 19:11:19 +00:00
Jim Grosbach
673612ec72 Add support for Canadian Cross builds where the host executables are not
runnable on the build machine.

There are a few bits that need built for the build environment (TableGen).
This patch builds those bits, and the associated libraries, for the build
environment as well as the (usual) host environment.

Thanks to Eric C. and Devang P. for pre-commit review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 22:56:44 +00:00
Daniel Dunbar
ecfe67c217 Reapply majority of r55557 but with the changes to compilation flags
disabled until issues with gcc 4.1 on linux 32-bit are resolved.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55636 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 17:35:16 +00:00
Matthijs Kooijman
0783f0d0a3 Revert r55557, it is causing linking failures on 32bit linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55628 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 09:51:00 +00:00
Daniel Dunbar
dcf114e861 Enable -fvisibility-inlines-hidden by default for compilers which
support it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55557 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 01:16:19 +00:00