Dan Gohman
ca0546facc
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.
llvm-svn: 57663
2008-10-17 01:33:43 +00:00
Daniel Dunbar
4b928f6550
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).
llvm-svn: 57030
2008-10-03 21:24:52 +00:00
Daniel Dunbar
78caa02ef4
Add IS_CLEANING_TARGET Makefile variable.
...
- Fixes bug in dependency inclusions where make with unspecified
target wouldn't include dependency files, eek!
llvm-svn: 57026
2008-10-03 19:11:19 +00:00
Jim Grosbach
009db89513
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.
llvm-svn: 56975
2008-10-02 22:56:44 +00:00
Daniel Dunbar
61e0a821cc
Reapply majority of r55557 but with the changes to compilation flags
...
disabled until issues with gcc 4.1 on linux 32-bit are resolved.
llvm-svn: 55636
2008-09-02 17:35:16 +00:00
Matthijs Kooijman
7b704a502b
Revert r55557, it is causing linking failures on 32bit linux.
...
llvm-svn: 55628
2008-09-02 09:51:00 +00:00
Daniel Dunbar
8eec985ac7
Enable -fvisibility-inlines-hidden by default for compilers which
...
support it.
llvm-svn: 55557
2008-08-30 01:16:19 +00:00
Gabor Greif
2dd54ed593
fix the output dumbness I have introduced some time ago
...
llvm-svn: 55506
2008-08-28 22:32:39 +00:00
Dan Gohman
b2226e21c3
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.
llvm-svn: 54751
2008-08-13 20:19:35 +00:00
Chris Lattner
01602a18a9
Add support for building on solaris, working around namespace
...
polution problems from system headers. Patch by Nathan Keynes!
llvm-svn: 52682
2008-06-24 17:44:42 +00:00
Evan Cheng
c7007a7211
Warn of potential violations of strict aliasing rules.
...
llvm-svn: 52027
2008-06-05 23:00:08 +00:00
Evan Cheng
215c528565
Revert 51775.
...
llvm-svn: 51795
2008-05-30 22:47:19 +00:00
Evan Cheng
a50833b695
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
...
llvm-svn: 51775
2008-05-30 17:16:20 +00:00
Gabor Greif
697e94cc22
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
...
llvm-svn: 51143
2008-05-15 10:04:30 +00:00
Gordon Henriksen
04e38cf30a
Refresh Makefile.ocaml in objdir if it is modified in srcdir.
...
Patch by Erick Tryzelaar!
llvm-svn: 48149
2008-03-10 15:58:40 +00:00
Gabor Greif
c848f9ea4e
Remove inappropriate whitespace, change CVS to SVN where it makes sense.
...
llvm-svn: 47671
2008-02-27 13:34:15 +00:00
Andrew Lenharth
dddb68c63a
when making bytecode modules, link as library
...
llvm-svn: 47574
2008-02-25 22:41:55 +00:00
Chris Lattner
42e35d4fcc
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
llvm-svn: 46760
2008-02-05 19:43:40 +00:00
Duncan Sands
9f6f4d39f7
Unbreak builds with differing object and source
...
directories. Patch by Sam Bishop.
llvm-svn: 46453
2008-01-28 17:38:30 +00:00
Chris Lattner
6379fc68ff
reduce duplicate -I flags passed to the compiler, cleaning up the VERBOSE
...
output. Patch contributed by Sam Bishop!
llvm-svn: 46432
2008-01-28 04:18:41 +00:00
Chris Lattner
efc922d089
One too many )'s breaks 'make clean' with certain versions of make.
...
This fixes PR1927
This should be pulled into llvm 2.2.
llvm-svn: 46245
2008-01-22 05:19:26 +00:00
Chris Lattner
5047536879
Commit a piece that I missed before, patch by Alain Frisch
...
llvm-svn: 46032
2008-01-15 23:27:40 +00:00
Gordon Henriksen
db911e9037
Modify Makefile.rules to allow makefiles to prepend to C.Flags and
...
fiends. Change Makefile.ocaml to not touch CFLAGS.
llvm-svn: 45663
2008-01-06 21:54:35 +00:00
Chris Lattner
c23e6351de
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.
llvm-svn: 45473
2007-12-31 23:58:31 +00:00
Chris Lattner
11cc8b3c14
remove attributions from the rest of the llvm makefiles.
...
llvm-svn: 45416
2007-12-29 20:11:13 +00:00
Chris Lattner
d0382a8550
noone uses etags. Connected to PR1601
...
llvm-svn: 42344
2007-09-26 06:10:47 +00:00
Reid Spencer
fcd7815249
Restore ability to build archives (oops)
...
Fix -include line so it doesn't reference /dev/null
llvm-svn: 40429
2007-07-23 08:20:46 +00:00
Reid Spencer
63ebdf7994
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.
llvm-svn: 40426
2007-07-23 08:09:15 +00:00
Reid Spencer
bca0811462
Make sure to keep symbols for profile build.
...
Patch by Benoit Boissinot. Thanks, Benoit!
llvm-svn: 38490
2007-07-10 14:52:01 +00:00
Reid Spencer
fd8e641c1e
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.
llvm-svn: 38486
2007-07-10 07:19:53 +00:00
Reid Spencer
7214cfdf66
Add a missing .
...
llvm-svn: 37800
2007-06-29 14:02:07 +00:00
David Greene
869e4b5dac
Clean up comments to be consistent with code.
...
llvm-svn: 37798
2007-06-29 03:36:21 +00:00
David Greene
cbc8ddf81a
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.
llvm-svn: 37777
2007-06-28 19:36:08 +00:00
Reid Spencer
07aa66887c
Fix a problem with building .y files when BISON is not present.
...
Merged from the release_20 branch.
llvm-svn: 37188
2007-05-17 22:51:35 +00:00
Reid Spencer
700a0381b5
Disable RTTI handling until we're ready.
...
llvm-svn: 36651
2007-05-02 21:31:09 +00:00
Reid Spencer
e6bc20629d
Add a rule to get the footprint of binaries and libraries.
...
llvm-svn: 36650
2007-05-02 21:29:39 +00:00
Anton Korobeynikov
fb80151c42
Removed tabs everywhere except autogenerated & external files. Add make
...
target for tabs checking.
llvm-svn: 36146
2007-04-16 18:10:23 +00:00
Chris Lattner
f8adf7af88
add a target to print out 80-column violations.
...
llvm-svn: 36032
2007-04-14 23:35:45 +00:00
Reid Spencer
c82c2cf483
Speed up installation a bit by ignoring .svn directories.
...
Patch by Scott Michel.
llvm-svn: 35826
2007-04-09 19:08:58 +00:00
Reid Spencer
200c6f9c3d
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.
llvm-svn: 35476
2007-03-29 19:05:44 +00:00
Chris Lattner
0706d8496c
correct dependency
...
llvm-svn: 34723
2007-02-28 05:10:40 +00:00
Chris Lattner
ee0fe3be68
target for generating CC info
...
llvm-svn: 34683
2007-02-27 20:44:12 +00:00
Reid Spencer
7cec4f2e8a
Fix some bugs in module building that broke llvm-stacker project.
...
llvm-svn: 34099
2007-02-09 17:09:14 +00:00
Reid Spencer
b63d0c4ad2
Don't use gccld or gccas
...
llvm-svn: 34093
2007-02-09 15:52:07 +00:00
Reid Spencer
48c74391c4
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.
llvm-svn: 34003
2007-02-07 19:13:19 +00:00
Reid Spencer
960cf7c929
Remove a spurious ;
...
llvm-svn: 33976
2007-02-07 03:29:29 +00:00
Reid Spencer
a79819d8c6
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.
llvm-svn: 33968
2007-02-06 18:53:14 +00:00
Reid Spencer
1e86e65b83
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.
llvm-svn: 33886
2007-02-04 22:12:25 +00:00
Andrew Lenharth
0ad67b0e43
Work around broken binutils on alpha
...
llvm-svn: 33535
2007-01-26 13:34:50 +00:00
Reid Spencer
582db976d8
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.
llvm-svn: 33085
2007-01-11 21:40:25 +00:00