Commit Graph

665 Commits

Author SHA1 Message Date
Nick Lewycky
faf880fd5d Revert r67334 and r37349 which break "make check" on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20 07:56:31 +00:00
Evan Cheng
817046e1f1 More makefile changes to allow dejagnu tests to pass when system tools default to a different target from the llvm configuration (e.g. 64-bit gcc and 32-bit llvm).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67334 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 20:27:23 +00:00
Sebastian Redl
8d8ba38f98 Fix Clang build for srcdir != objdir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67008 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14 14:42:51 +00:00
Sebastian Redl
1119552a08 Add support for generating Clang diagnostic defs to Makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67006 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14 11:59:18 +00:00
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
Gabor Greif
5039a6f4f5 fix the output dumbness I have introduced some time ago
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55506 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 22:32:39 +00:00
Dan Gohman
b0cf29c5cf Initial checkin of the new "fast" instruction selection support. See
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 20:19:35 +00:00
Chris Lattner
58a4c5e8e3 Add support for building on solaris, working around namespace
polution problems from system headers.  Patch by Nathan Keynes!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52682 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-24 17:44:42 +00:00
Evan Cheng
6fc5b48f64 Warn of potential violations of strict aliasing rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 23:00:08 +00:00
Evan Cheng
652f7ea955 Revert 51775.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51795 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 22:47:19 +00:00
Evan Cheng
babf11f249 Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 17:16:20 +00:00
Gabor Greif
b1dbcd886a Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 10:04:30 +00:00
Gordon Henriksen
7252dc0efc Refresh Makefile.ocaml in objdir if it is modified in srcdir.
Patch by Erick Tryzelaar!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48149 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 15:58:40 +00:00
Gabor Greif
0a4c3782c8 Remove inappropriate whitespace, change CVS to SVN where it makes sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47671 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 13:34:15 +00:00
Andrew Lenharth
a7b33db5e9 when making bytecode modules, link as library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47574 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-25 22:41:55 +00:00
Chris Lattner
f5c9467471 Make the check for GCC version more robust, fix shared library
dependencies in makefile, and fix llvm_cv_no_link_all_option
on darwin.

Patch by Shantonu Sen, more info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-February/012410.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46760 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05 19:43:40 +00:00
Duncan Sands
095765e26d Unbreak builds with differing object and source
directories.  Patch by Sam Bishop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46453 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-28 17:38:30 +00:00
Chris Lattner
2671fc390c reduce duplicate -I flags passed to the compiler, cleaning up the VERBOSE
output.  Patch contributed by Sam Bishop!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46432 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-28 04:18:41 +00:00
Chris Lattner
05a3e8aa4d One too many )'s breaks 'make clean' with certain versions of make.
This fixes PR1927

This should be pulled into llvm 2.2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22 05:19:26 +00:00
Chris Lattner
6e0a529218 Commit a piece that I missed before, patch by Alain Frisch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 23:27:40 +00:00
Gordon Henriksen
9e7aba2739 Modify Makefile.rules to allow makefiles to prepend to C.Flags and
fiends. Change Makefile.ocaml to not touch CFLAGS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-06 21:54:35 +00:00
Chris Lattner
e43ba3dce7 Factor out makefile dependency generation better.
Don't include system headers in the .d files.
Don't use $@ in the makefile rules, as there are two possible targets it could resolve to: use the one that we need explicitly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45473 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-31 23:58:31 +00:00
Chris Lattner
57360d1f1c remove attributions from the rest of the llvm makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:11:13 +00:00
Chris Lattner
72e463369d noone uses etags. Connected to PR1601
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42344 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-26 06:10:47 +00:00
Reid Spencer
491a6cd8b4 Restore ability to build archives (oops)
Fix -include line so it doesn't reference /dev/null


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 08:20:46 +00:00
Reid Spencer
87b891911b Remove bizarre use of /dev/null in a makefile include line that
produces warning from make about bad timestamp on /dev/null

Patch by Holger Schurig.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40426 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 08:09:15 +00:00
Reid Spencer
eff155349a Make sure to keep symbols for profile build.
Patch by Benoit Boissinot. Thanks, Benoit!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38490 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-10 14:52:01 +00:00
Reid Spencer
0a522b19e8 Make sure that preprocessor symbols like _DEBUG, NDEBUG, and _GLIBC_DEBUG are
put into the CPP.Defines variable. Seems the convention was corrupted with
various changes made. It is important to get command line parameters into the
right variable because things like llvm-config and sub-makefiles depend on it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38486 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-10 07:19:53 +00:00
Reid Spencer
1abd46d022 Add a missing .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37800 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-29 14:02:07 +00:00
David Greene
cba291821d Clean up comments to be consistent with code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37798 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-29 03:36:21 +00:00
David Greene
a696d24ad2 Add support for building with _GLIBCXX_DEBUG. New configure option
--enable-expensive-checks allows the developer to enable runtime
checking that can greatly increase compile time.  Currently it only
turns on _GLIBCXX_DEBUG.  Other expensive debugging checks added later
should be controlled by this configure option.

This patch also updates llvm-config with a --cppflags option to inform
llvm-gcc how to build itself so that it is compatible with an llvm that
was built with _GLIBCXX_DEBUG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37777 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-28 19:36:08 +00:00
Reid Spencer
413f2f961a Fix a problem with building .y files when BISON is not present.
Merged from the release_20 branch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37188 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-17 22:51:35 +00:00
Reid Spencer
749a89bd53 Disable RTTI handling until we're ready.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36651 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 21:31:09 +00:00
Reid Spencer
6548bf1ced Add a rule to get the footprint of binaries and libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36650 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 21:29:39 +00:00
Anton Korobeynikov
bed2946a96 Removed tabs everywhere except autogenerated & external files. Add make
target for tabs checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 18:10:23 +00:00
Chris Lattner
03840ac2e2 add a target to print out 80-column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36032 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 23:35:45 +00:00
Reid Spencer
0522d8b124 Speed up installation a bit by ignoring .svn directories.
Patch by Scott Michel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35826 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 19:08:58 +00:00
Reid Spencer
8475ec068c For PR789:
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:05:44 +00:00
Chris Lattner
fd3542f84d correct dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34723 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 05:10:40 +00:00
Chris Lattner
bcc3c194a5 target for generating CC info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34683 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 20:44:12 +00:00
Reid Spencer
18464127a4 Fix some bugs in module building that broke llvm-stacker project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34099 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:09:14 +00:00
Reid Spencer
43eb96c3ef Don't use gccld or gccas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:52:07 +00:00
Reid Spencer
9bb399cf08 Make the cleaning of BUILT_SOURCES be a "clean-all" target item, not a
"clean" target item. This gets around having the built sources disappear
when only one build mode wants to be cleaned. With the "clean-all" target,
all build modes are cleaned so it also makes sense to clean out the built
sources at that point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34003 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07 19:13:19 +00:00
Reid Spencer
91140e9633 Remove a spurious ;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33976 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07 03:29:29 +00:00
Reid Spencer
a2a31bf3b2 Implement the NO_INSTALL feature. Setting this variable to any value in
a directory's Makefile will prevent the build products from that directory
from being installed. This is useful for tools and libraries that are
only useful as part of the build process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33968 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:53:14 +00:00
Reid Spencer
54100d7370 When using LINK_COMPONENTS, append the components to the end of the
libraries linked with. This permits a project to still use USEDLIBS to
specify its own libraries in conjunction with LINK_COMPONENTS. llvm-stacker
needs this after libLLVMTransforms.a went away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33886 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 22:12:25 +00:00
Andrew Lenharth
c5e455d8ca Work around broken binutils on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33535 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 13:34:50 +00:00
Reid Spencer
6cb4c1ad7f Don't remove the find_rule label from FLEX output. It is needed by some
versions of FLEX even through we don't use REJECT. Thanks to Jeff Cohen
for tracking this down.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33085 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-11 21:40:25 +00:00
Reid Spencer
f0e76cf1dc Remove the find_rule label from the output of flex. This will break any
use of the REJECT macro but we don't use it. This just hushes up a warning
in the presence of -Wno-unused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32843 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-03 19:56:14 +00:00
Reid Spencer
129f004ab4 When compiling a C or C++ file to assembly, make the assembly output
depend on the compiler. This works around problems in the Stacker runtime
when the CFE changes in such a way that the assembly file needs to be
updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32773 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-30 16:31:02 +00:00
Reid Spencer
89b0d995d2 Allow an --enable-pic option to turn on -fPIC compiler option when building.
The default is disabled until we know this doesn't break anyone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-16 22:07:52 +00:00
Reid Spencer
4413672aa5 Don't bother with setting the path before running llvm-gcc4, it doesn't
need it like llvm-gcc3 did.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32410 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 04:56:38 +00:00
Reid Spencer
75575fcfe4 Remove line not meant to be committed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32163 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-03 21:17:12 +00:00
Reid Spencer
e46687c14b Handle upgrade of llvm-gcc3 assembly files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32161 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-03 21:01:45 +00:00
Reid Spencer
8b2e1419cf Undo removal of the runtime libraries. While this may have been a bit
premature, these libraries will be going away for the 2.0 release. Other
arrangements for profiling, gc, etc. should be made in the next few months.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 03:32:33 +00:00
Reid Spencer
ac90d5e50b In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will
be dropped. This patch pertains to removing the runtime directory from LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-16 23:17:27 +00:00
Chris Lattner
166f45e8d7 Fix typo pointed out by Bryan Adams
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31766 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-15 21:04:15 +00:00
Reid Spencer
7f5f75dc5c Allow ENABLE_OPTIMIZED=0 to turn off optimization (turn on debug).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31655 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 00:00:31 +00:00
Reid Spencer
3ed469ccd7 For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 20:25:50 +00:00
Chris Lattner
93858f65d3 Targets should depend on all the intrinsics.td files also, otherwise they
will compute a locally wrong numbering for the intrinsics.  This fixes a
nasty issue where the x86 backend started miscompiling stuff in a 'cvs up'd
build after the altivec intrinsics were added.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31172 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-24 20:32:44 +00:00
Chris Lattner
d95e3f2c12 Move CompileCommonOpts to the end of the list so that EXTRA_OPTIONS=-O0 will
override the optimization level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-29 18:47:13 +00:00
Chris Lattner
a7868af4a2 Fix a build problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30096 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 06:39:52 +00:00
Chris Lattner
7f463272c9 Remove some dead makefilery
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30093 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 06:07:12 +00:00
Chris Lattner
0a1db82859 Bugfix for llvm-config support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30087 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 05:23:20 +00:00
Chris Lattner
55e6c4ab94 Make LINK_COMPONENTS interact well with make clean
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30086 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:50:10 +00:00
Chris Lattner
ef0d0f12f0 Add a new make option (LINK_COMPONENTS) which tools can use to specify what
libraries they need.  This uses llvm-config to link the tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30084 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 04:47:21 +00:00
Chris Lattner
e4163b4b46 Rearrange library linkage order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 01:02:25 +00:00
Reid Spencer
3a9ec2463d For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29934 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 01:02:49 +00:00
Reid Spencer
dcea140073 Doh! Commit the change that turns ON -fno-exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29883 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 20:56:59 +00:00
Reid Spencer
99655e16a6 For PR797:
Final commit for this bug. This removes the last EH holdouts in LLVM
and turns off exception support by using the -fno-exceptions option. This
leads to the following reduction in library and executable sizes:
                DEBUG BUILD                RELEASE BUILD
         before     after   delta     before   after    delta
lib    162,328K  157,616K   4,712    17,864K  16,416K  1,448K
bin    571,444K  557,156K  14,288    63,296K   56,996K 6,300K

Debug   Improvement: 19,000K (2.59%)
Release Improvement:  7,748K (9.55%)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29882 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 19:54:53 +00:00
Reid Spencer
4869d7fa8e For PR738:
Demote check for bison from error to warning and make sure that the
makefile can handle an empty definition for BISON variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29861 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 22:41:20 +00:00
Reid Spencer
bd4b758d2d To avoid errors where a non-exception .o is on the stack between a throw
and a handler, which would produce errors like:
  terminate called after throwing an instance of 'std::string'
we must comment out setting -fno-exceptions until PR797 is completely
fixed. Once libraries like lib/System and lib/Support are exception free,
we can turn it back on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 17:22:07 +00:00
Reid Spencer
f0646768be For PR797:
1. Actually turn on -fno-exceptions in libraries that do not have the
   REQUIRES_EH option in their Makefile. The following library file size
   savings were made (DEBUG):
      libLLVMDataStructure.a  525K
      libLLVMCore.a           380K
      libLLVMCodeGen.a        350K
      libLLVMTransformUtils.a 305K
      libLLVMScalarOpts.a     270K
      libLLVMAnalysis.a       247K
      libLLVMSelectionDAG.a   233K
      libLLVMipo.a            175K
      LLVMX86.o               123K
      LLVMPPC.o                81K
      libLLVMipa.a             17K
                 TOTAL      2,706K
      Note that the savings is actually a little larger than this because
      I didn't count any of the libraries that had small changes.

2. Remove REQUIRES_EH from the AsmParser library as it is now exception
   free. This resulted in a nearly 78K drop in the size of the debug
   library for AsmParser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29767 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 09:30:03 +00:00
Reid Spencer
42fe455d37 For PR780:
1. Change the usage of LOADABLE_MODULE so that it implies all the things
   necessary to make a loadable module. This reduces the user's burdern to
   get a loadable module correctly built.
2. Document the usage of LOADABLE_MODULE in the MakefileGuide
3. Adjust the makefile for lib/Transforms/Hello to use the new specification
   for building loadable modules
4. Adjust the sample project to not attempt to build a shared library for
   its little library. This was just wasteful and not instructive at all.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29551 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:12:15 +00:00
Chris Lattner
16620fcbfd Pass -fstrict-aliasing to the compiler when building a release build on darwin.
Darwin doesn't default to it being on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29350 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 18:19:51 +00:00
Reid Spencer
e2cfe5d232 For PR814:
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29309 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:14:56 +00:00
Chris Lattner
8203360bc1 Reduce work done for directory traversal in srcdir==objdir builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29300 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 20:22:26 +00:00
Evan Cheng
11bcd75fd3 Workaround no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29260 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 23:06:51 +00:00
Devang Patel
2ebc1f82a2 Fix MacOSX build failures. (pr841)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29246 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 19:44:55 +00:00
Chris Lattner
02b04b4d34 Build more debugger/selectiondag libraries as archives instead of .o files.
This works around bugs in some versions of the cygwin linker.

Patch contributed by Anton Korobeynikov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29239 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 00:10:47 +00:00
Andrew Lenharth
74bda2e320 Fix linking on Alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:27:58 +00:00
Chris Lattner
041572f0b3 Profile builds should always have debug info enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:33:50 +00:00
Chris Lattner
7dabf399b9 Allow specifying an explicit list of architectures to build for, e.g.:
make ENABLE_OPTIMIZED=1 UNIVERSAL=1 UNIVERSAL_ARCH="i386 ppc ppc64"

retain the default of building for just i386/ppc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28985 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 19:38:04 +00:00
Chris Lattner
8eb12def01 Add targets for generating .s file in addition to .o files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28903 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 21:01:20 +00:00
Chris Lattner
d92490fbcb Factor a bunch of rules together, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28902 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21 20:58:03 +00:00
Evan Cheng
6cee033a80 Allow LLVM to be built with extra options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28873 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:50:48 +00:00
Chris Lattner
f988e53613 Do not hardcode random paths into the makefile. Make the user specify the
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:47:59 +00:00
Chris Lattner
9ec2c3d455 Fix building on case-sensitive file systems, grr :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28801 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 17:31:22 +00:00
Chris Lattner
117f8cd896 Remove obsolete CORE_IS_ARCHIVE stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28648 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02 00:27:42 +00:00
Reid Spencer
48fdf91d0f Provide configuration support and usage for MINGW32 platform
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 19:03:21 +00:00
Reid Spencer
72f42bbc9b For PR786:
Turn -pedantic and -Wno-long-long compile flags on by default. In a few
places, avoid the warnings by removing these options in the local makefile.
One notable exception: lib/Target/CBackend/Writer.cpp. These warnings are
left on as a reminder to developers to clean them up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28614 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:55:21 +00:00
Reid Spencer
18c8b49e7d Use archive libraries instead of object files for VMCore, BCReader,
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 01:30:27 +00:00
Chris Lattner
73faa39d29 Enable -fno-use-cxa-atexit on darwin/ppc also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28558 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-30 16:38:06 +00:00
Chris Lattner
d63b964850 Abstract out the current optimization level into a flag that can be overridden
on the make line, to avoid bugs in native compilers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 23:02:40 +00:00
Chris Lattner
f07ddcd38b Remove flags implied by -O3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28456 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 22:59:07 +00:00
Chris Lattner
e5aa8f38a7 Don't use -fomit-frame-pointer on darwin, it breaks stacktrace collection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28451 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 18:34:08 +00:00
Reid Spencer
dd1aac36a1 Make some changes suggested by Chris:
1. Remove the LLVM_DO_NOT_BUILD feature (not needed any more)
2. Ensure that lib/VMCore gets built first. This needs to be done because
   VMCore now uses tblgen to generate the Intrinsics header which are
   needed in other libraries. In parallel builds, this can cause problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-17 22:55:35 +00:00
Reid Spencer
c14c936c79 Make sure that $(CXX.Flags) is passed to the linker so that the same options
with which source is compiled are used when linking. This matters when a
project is using the LLVM makefiles and overrides CXXFLAGS to specify new
flags to use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28322 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:51:02 +00:00
Vladimir Prus
e438c2a466 Replace "../whatever.td" with "whatever.td", so that out-of-tree backends
can just add lib/Target to TableGen includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:39:36 +00:00
Reid Spencer
ab519972fa When linking, make sure the project libraries are linked before the LLVM
libraries. This ensures that the project's libraries (which most likely
depend on LLVM libraries) come first on the command line and can thus be
resolved by the LLVM libraries that appear later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28316 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-16 06:25:14 +00:00
Owen Anderson
211b9a2580 Fix some problems linking stuff in libTarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28218 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11 03:10:15 +00:00
Reid Spencer
ab093fa652 Remove traces of Burg utility now that its gone and not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27902 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:42:24 +00:00
Chris Lattner
37408e5d23 Remove V9 jit support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27891 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 17:52:00 +00:00
Chris Lattner
3a00a3e573 Final piece to get relinked .o files buildable universal on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-19 18:45:29 +00:00
Reid Spencer
bbd5e430f1 Make sure that the C Frontend's runtime library directory is included as
a -L option to gccld whenever we're building a bytecode module or archive.
This gets around the "Cannot find library 'crtend'" warning messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 18:21:35 +00:00
Reid Spencer
5ff0dc790c Remove extraneous building in target dist-check. There is no reason that
a distribution should need to be able to make a distribution so eliminate
the "make dist" from the list of targets attempted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27600 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 03:07:02 +00:00
Reid Spencer
854071c163 ENABLE_ASSERTIONS -> DISABLE_ASSERTIONS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27558 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 16:46:04 +00:00
Reid Spencer
f9f431c3b5 Check for DISABLE_ASSERTIONS, not ENABLE_ASSERTIONS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27552 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-09 23:41:14 +00:00
Reid Spencer
bac3ca2e37 For PR723:
1. Don't force debug builds to have assertion checking turned on always.
   Let the default (on) be taken, or overridden by the command line
2. Create two new BuildModes based on assertion checking: Release+Assert
   and Debug-Assert.
3. Ensure that when building a distribution we get a release build with
   assertions enabled, regardless of the tree's configuration.
4. (unrelated) Fix library name generation for llvm-config usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27488 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 16:06:18 +00:00
Evan Cheng
4d0586be0f A saner workaround. I hope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27483 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 08:31:56 +00:00
Evan Cheng
afd131ed0b Temporary workaround for a Mac OSX specific issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27482 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 08:10:09 +00:00
Chris Lattner
ba46665b70 Add support for building the LLVM libraries and tools as a Mac OS/X
universal binary, by specifying UNIVERSAL=1 on the make command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06 06:30:15 +00:00
Reid Spencer
205b02e97a Add a facility for invoking the llvm-config tool when linking a program.
This facility allows LLVMLIBS to be specified with something like:
LLVMLIBS = config --libs jit
instead of:
LLVMLIBS = JIT
with the same effect. However, the llvm-config utility is much more versatile
than the single keyword approach. Note that "config" is the keyword after
which any arguments to llvm-config are allowed. When llvm-config is tested
and working well, we'll start using this and drop support for the JIT
keyword.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 07:36:57 +00:00
Reid Spencer
f2722ca339 These changes are necessary to support the new llvm-config tool. llvm-config
is a handy tool for users of LLVM who want to be able to quickly get
information about LLVM's configuration. It is intended to be used in the
command line of other tools. Documentation will be forthcoming in a
subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26952 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 15:59:55 +00:00
Chris Lattner
7192786afc Enable assertions to be enabled in release builds by building with
make ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26914 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 01:06:41 +00:00
Chris Lattner
be3c2f210c reorder these to make it work with static libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26698 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 21:01:34 +00:00
Chris Lattner
c097798f61 Use $(Verb) instead of @ so that VERBOSE=1 will print these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 06:00:05 +00:00
Chris Lattner
cb3fc53cbe pass -Illvm/include to tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26489 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:54:54 +00:00
Chris Lattner
8f434ffa24 8 spaces -> tab. Reported by Wink Saville
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26425 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-28 19:12:58 +00:00
Chris Lattner
af2f351869 Fix a minor makefile bug with lex/yacc handling that nate noticed. We don't
want to copy the files when the .cpp file changes, we want to copy them
to the .cvs versions when the .l/.y file change (like the comments even say).
This avoids having bogus changes show up in diffs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26229 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-16 05:10:48 +00:00
Chris Lattner
1f1edce683 bugfixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26207 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 07:23:05 +00:00
Chris Lattner
6599c75ccc Convert the bison-output-checked-into-cvs makefile handling stuff to work
like the flex stuff, which actually works when people do cvs updates and
get conflicts in the updated checked in file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26205 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 07:16:57 +00:00
Duraid Madina
197ab8787f HP aCC (and a bunch of other compilers, no doubt) don't share
GCC's syntax for auto-dependency generation stuff. This should
be changed to be disabling dependency stuff unless GCC/ICC is
found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26201 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 03:23:26 +00:00
Duraid Madina
eb713400cb oops, I meant this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26200 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 03:20:16 +00:00
Chris Lattner
342567c987 Implement an alternative way of handling generated lex files in CVS. This
should solve the "updating cvs when .l files change give me conflict markers
that break my build" issue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26160 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 05:12:00 +00:00
Chris Lattner
77efe27ef1 Wrap a couple more long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 04:27:15 +00:00
Chris Lattner
d25ad61086 wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26158 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-14 04:25:54 +00:00
Chris Lattner
896811180f * Eliminate FAKE_SOURCES
* Make runtimes and projects build with the new front-end by not relying on
  'llvm-gcc -c' to build a .bc file.  Instead, use llvm-gcc -S -emit-llvm,
  then an explicit invocation of gccas.  Also, don't use llvm-gcc to link
  .bc files together, use gccld directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25707 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 22:13:12 +00:00
Reid Spencer
443045a816 For PR625:
Don't install contents of CVS directories and don't double install when
srcdir == objdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24998 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-23 22:27:56 +00:00
Reid Spencer
25e8a70ea3 Some simple cleanups:
1. When srcdir == objdir have "spotless" say that it isn't supported in
   that mode rather than just let make say "no such target"
2. Minor doc cleanups
3. Fix the double rebuild problem with yacc files. A missing dependency
   caused parallel builds to skip building the .cpp file after the .cpp
   file was regenerated by bison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24924 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 23:17:06 +00:00
Reid Spencer
6e96d81c87 Implement fix for PR471:
* Add --enable-debug-runtime option, defaults to disabled
* Pass the new config var, DEBUG_RUNTIME, to Makefiles
* Don't use -Wa,-strip-debug if debug-runtime is enabled


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24891 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-21 03:31:53 +00:00
John Criswell
a115643357 Move some constant folding code shared by Analysis and Transform passes
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-27 15:54:34 +00:00
John Criswell
e96a1a576b 1. Remove libraries no longer created from the list of libraries linked into the
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-26 20:35:13 +00:00
Chris Lattner
0366fcb396 analyses after transformations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23977 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 17:54:19 +00:00
Chris Lattner
89938080a6 Now that all libraries are built in either .o or .a form, make BUILD_ARCHIVE
default to turning off building of relinked objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23939 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 02:21:45 +00:00
Chris Lattner
aafbaaa204 pull in the .a version of scalaropts lib to reduce the size of programs
using the JIT


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 01:15:14 +00:00
Jeff Cohen
9dc33e53d6 Remove redundant flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23889 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:51:22 +00:00
Jeff Cohen
66c5fd6c53 When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:37:20 +00:00
Jim Laskey
f5fc2cbd6b Plugin new subtarget backend into the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23870 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:05:19 +00:00
Chris Lattner
0b61677ae0 Make sure targets depend on TargetSelectionDAG.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23732 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-14 06:31:58 +00:00
Chris Lattner
0cb09f1a7a Add some rules for building preprocessed files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23629 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-05 00:28:41 +00:00
Chris Lattner
f31f09e67c allow for a target to ask for a dag isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23237 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-03 01:15:25 +00:00
Reid Spencer
68a24bdba4 Implement PR614:
These changes modify the makefiles so that the output of flex and bison are
placed in the SRC directory, not the OBJ directory. It is intended that they
be checked in as any other LLVM source so that platforms without convenient
access to flex/bison can be compiled. From now on, if you change a .y or
.l file you *must* also commit the generated .cpp and .h files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23115 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-27 18:50:39 +00:00
Reid Spencer
ca739c685b For PR614:
Move the implementation of the fix from Makefile.rules to Makefile. This
ensures that it is only checked on a top-level rebuild, and not in every
single subdirectory. This removes some annoying messages from the build and
numerous executions of config.status if the .in file changes but not
substantively enough to cause the .h file to be modified by config.status.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23039 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25 04:59:49 +00:00
Reid Spencer
6f5f8b380a Don't attempt to update LLVM configured header files from a build in a
project. Thanks to Chris for pointing out this deficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23037 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25 04:44:18 +00:00
Reid Spencer
0ced4fbcd7 Whoops, don't use PROJ variables, these are all LLVM headers. This allows
projects to compile properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23007 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:55:07 +00:00
Reid Spencer
755bcf086d For PR619:
Make any header files that are automatically generated be preconditions of
the compilation. This ensures that if a *.h.in file is changed then its
corresponding *.h file gets updated on the next rebuild. Note that this can
lead to confusing (but correct) results if the *.h.in file changed
unsubstantially so that autoheader doesn't update the *.h file. In that case,
manually touch the *.h file in question to restore order. Moral of the story,
if you're going to "touch" a *.in file then modify it substantially.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23006 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:43:10 +00:00
Misha Brukman
6c26da6c04 Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22821 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-17 02:38:56 +00:00
Andrew Lenharth
7ac17529d2 Fix oversized GOT problem with gcc-4 on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22777 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-13 05:09:50 +00:00
Misha Brukman
ab25eda801 No, really, it's an Alpha! And you probably thought it was a PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22506 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 22:43:40 +00:00
Andrew Lenharth
22894e980f I know PowerPC wishes it could be alpha, but it cannot. so there
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22504 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 22:00:24 +00:00