Commit Graph

376 Commits

Author SHA1 Message Date
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