Commit Graph

5206 Commits

Author SHA1 Message Date
Daniel Dunbar f665b32a70 Add a VISIBILITY_HIDDEN option, which can be used to make all compiler-rt function definitions hidden/private extern.
llvm-svn: 93790
2010-01-18 22:19:34 +00:00
Daniel Dunbar 64a198d060 Unbreak symbol mangling in .s files, at least for Darwin/Linux.
llvm-svn: 93789
2010-01-18 22:19:25 +00:00
Daniel Dunbar ef89858e47 Add DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED for use in .S files -- restFP and saveFP don't get USER_LABEL_PREFIX prepended for some reason.
llvm-svn: 93788
2010-01-18 22:19:20 +00:00
Daniel Dunbar d382d17f09 Update Apple-style build support for new Makefiles
llvm-svn: 93721
2010-01-18 06:49:42 +00:00
Daniel Dunbar efd84e770b Add support for "platform" configurations, which define a suite of compiler-rt
libraries to generate.
 - Each library may be built with different flags and for different
   architectures, and there is support for building Darwin style fat archives.

 - Uses an ambituous amount of make programming, but should be hidden to
   users and developers.

llvm-svn: 93720
2010-01-18 06:49:33 +00:00
Daniel Dunbar 16c5071c6d Remove old build logic, this is going to be replaced by a more configurable mechanism shortly.
llvm-svn: 93719
2010-01-18 06:49:16 +00:00
Daniel Dunbar 6bcbef6230 Rename subdir 'Target' variable to 'Implementation' to be less overloaded.
llvm-svn: 93718
2010-01-18 06:49:09 +00:00
Daniel Dunbar 8e5a2f084a Add 'SelectFunctionDir' function, to select appropriate function implementation based on a configuration and architecture.
llvm-svn: 93717
2010-01-18 06:48:56 +00:00
Daniel Dunbar ae28e68d09 Add more make utility functions.
- With tests. :)

llvm-svn: 93716
2010-01-18 06:48:48 +00:00
Daniel Dunbar 2d9816e44b Change subdir traversal to primarily cache information about what is available in subdirectories.
- Rest of makefiles will move to using the information after it has been computed, instead of during subdir traversal.

Also, add 'make info-functions' target, which prints information on all the functions available in compiler-rt.

Also, add 'make help-devel' for listing help on targets intended for compiler-rt developers or direct users.

llvm-svn: 93715
2010-01-18 06:48:40 +00:00
Daniel Dunbar 56e0eb9fc9 Simplify subdirectory makefiles, and be more robust by checking that they define the appropriate variables.
llvm-svn: 93714
2010-01-18 06:48:33 +00:00
Daniel Dunbar 40d6f65ae1 Add basic make {help,help-hidden} targets.
llvm-svn: 93713
2010-01-18 06:48:19 +00:00
Daniel Dunbar 43164b34b1 Rename DebugMake variable to DEBUGMAKE for consistency (variables that are designed to be overridden), and use VERBOSE=1 instead of VERBOSE!="" for controlling verbosity.
llvm-svn: 93712
2010-01-18 06:48:12 +00:00
Daniel Dunbar 32f75c6a42 Unbreak trampoline test.
llvm-svn: 93711
2010-01-18 06:48:06 +00:00
Daniel Dunbar dcf5a317f1 Tidy up comments, remove whitespace, and rename 'print-%' make debugging target
to 'make-print-%' to match LLVM.

llvm-svn: 93319
2010-01-13 16:13:01 +00:00
Daniel Dunbar debb79b994 Sink {config.h,ConfigureChecks}.cmake into cmake directory.
llvm-svn: 93318
2010-01-13 16:12:49 +00:00
Nick Kledzik 64eecd2de5 Fix copy/paste error. http://llvm.org/bugs/show_bug.cgi?id=572
llvm-svn: 93297
2010-01-13 05:30:28 +00:00
Rafael Espindola 393cb7c22d Use __USER_LABEL_PREFIX__ so that we don't add a _ prefix on ELF.
llvm-svn: 86542
2009-11-09 14:27:04 +00:00
Edward O'Callaghan 8f40ca3b8f Fix x86/x64 on Linux, Credit to Rafael Espindola.
llvm-svn: 86075
2009-11-04 23:52:51 +00:00
Edward O'Callaghan 683dcc63b1 Add DragonFly BSD to supported platforms list.
llvm-svn: 85727
2009-11-01 18:30:27 +00:00
Edward O'Callaghan a8fa825177 Fix DragonFly BSD define in compiler-rt.
llvm-svn: 85726
2009-11-01 18:25:55 +00:00
Edward O'Callaghan 73ee64d6a2 Fix CMakeLists.txt comment.
llvm-svn: 85686
2009-10-31 21:08:10 +00:00
Nick Kledzik d4b78d38d4 add __save_vfp_d8_d15_regs and __restore_vfp_d8_d15_regs for ARM
llvm-svn: 85531
2009-10-29 22:31:39 +00:00
Edward O'Callaghan 07d6005bdc Nested function test in compiler-rt should not be run under Clang.
llvm-svn: 85456
2009-10-29 00:27:08 +00:00
Edward O'Callaghan 7c1cc70a90 Fix test suit for last CMake changes to CompilerRT.
llvm-svn: 85452
2009-10-29 00:16:23 +00:00
Edward O'Callaghan a55dd008ad Update CMake build system with target arch source file lists.
llvm-svn: 85448
2009-10-29 00:07:46 +00:00
Shantonu Sen 04f121bc50 Work around strictness in gcc 4.4.1 casting a function pointer to void *
llvm-svn: 85397
2009-10-28 15:54:04 +00:00
Shantonu Sen 1467592c6d Add stdlib.h for rand() prototype
llvm-svn: 85396
2009-10-28 15:46:10 +00:00
Edward O'Callaghan 6d0a86cbd1 Update web docs for cmake test suit, comment out broken test.
llvm-svn: 85350
2009-10-28 00:09:30 +00:00
Edward O'Callaghan 1bafa6de57 Fix cmake test suit for compiler-rt.
llvm-svn: 85339
2009-10-27 23:23:41 +00:00
Daniel Dunbar 9ff9371bb7 Switch to using DEFINE_COMPILERRT_[PRIVATE_]FUNCTION to define function symbols inside .S files.
llvm-svn: 85264
2009-10-27 17:50:21 +00:00
Daniel Dunbar 7d50478889 Add assembly.h for use in .S files.
llvm-svn: 85263
2009-10-27 17:49:50 +00:00
Daniel Dunbar 805c49408f Update some .S file headers.
llvm-svn: 85262
2009-10-27 17:49:19 +00:00
Daniel Dunbar 64857209fb Fix tests broken by removal of de-anonyomizing structs.
llvm-svn: 85261
2009-10-27 17:49:07 +00:00
Daniel Dunbar 247687360f Remove duplicate copy of int_lib.h, and update test script to find copy inside lib/.
Also, fix some brokenness in the test script w.r.t REMOTE.

llvm-svn: 85260
2009-10-27 17:48:46 +00:00
Daniel Dunbar 10bf19ec7a Add .gitignore file.
llvm-svn: 85259
2009-10-27 17:48:37 +00:00
Edward O'Callaghan c0c9968f1b Comment out broken tests and make the rest build in cmake build system.
llvm-svn: 84330
2009-10-17 10:19:32 +00:00
Edward O'Callaghan bc85722d34 Improve doc readability.
llvm-svn: 83414
2009-10-06 21:03:43 +00:00
Edward O'Callaghan e1cc630483 Update compiler-rt online docs to reflex recent work and testing.
llvm-svn: 83413
2009-10-06 21:01:17 +00:00
Shantonu Sen ae3b01cf8a If the compiler does not support GCC-compatible
atomic operations, skip building the blocks runtime

llvm-svn: 82627
2009-09-23 16:05:25 +00:00
Shantonu Sen 35684d034e Keep on castin', in the name of -pedantic
llvm-svn: 82626
2009-09-23 15:34:09 +00:00
Edward O'Callaghan b5127599f9 Note about compiler-rt only building on Darwin no longer applies.
llvm-svn: 82609
2009-09-23 05:06:46 +00:00
Edward O'Callaghan 0e38b38dd1 Update site information to reflect using cmake to build compiler-rt and not legacy makefiles.
llvm-svn: 82608
2009-09-23 05:04:26 +00:00
Edward O'Callaghan 49dc8717a4 CMake should only pass GCC options to GCC.
llvm-svn: 82607
2009-09-23 04:57:36 +00:00
Edward O'Callaghan 9a9c26eba6 We don't need a C++ compiler to build Blocks, Don't check for one.
llvm-svn: 82606
2009-09-23 03:53:48 +00:00
Edward O'Callaghan dd54ab207b Fix compile time warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'unsigned int'
llvm-svn: 82605
2009-09-23 03:47:24 +00:00
Edward O'Callaghan 351a54e86f Improve readability.
llvm-svn: 82604
2009-09-23 03:42:03 +00:00
Shantonu Sen 33f6acbbf1 1) Remove cmake-specific #define usage from the exported
Block.h/Block_private.h headers, since clients won't know what to
set. These are moved into runtime.c as appropriate

2) Use cmake checks for CAS builtins, instead of guessing based on GCC
#defines (which aren't set by clang and llvm-gcc anyway)

3) "#pragma mark" isn't supported by FSF gcc, so "#if 0" it out. It
should still show up in IDEs that support it

4) Fix some compiler warnings. GCC 4.3.3 seems super strict about
%p. function pointers can't be cast to void * either.

5) Avoid a warning for apple_versioning.c that "ISO C does not allow
empty files"

llvm-svn: 82504
2009-09-22 00:49:12 +00:00
Nick Kledzik e80d44c943 update make rules so libcompiler-rt can be built for armv6 the Apple way
llvm-svn: 82185
2009-09-18 00:09:05 +00:00
Nick Kledzik 4efa121e40 add support for __switch* needed for switch statements in thumb codegen
llvm-svn: 82184
2009-09-18 00:07:52 +00:00
Nick Kledzik ad160c0330 add conversion functions and test cases for ARM
llvm-svn: 81809
2009-09-14 23:26:56 +00:00
Edward O'Callaghan 2e2d1a87f9 Update cmake files for arm support hooks.
llvm-svn: 81760
2009-09-14 12:45:07 +00:00
Nick Kledzik 0f312a09b2 fix typo in comment
llvm-svn: 81686
2009-09-13 18:34:39 +00:00
Edward O'Callaghan f68f63b7cf Add Blocks support to CMake build system.
llvm-svn: 81617
2009-09-12 17:13:35 +00:00
Edward O'Callaghan 594906f923 Fix include path to config.h for CMake build system.
llvm-svn: 81616
2009-09-12 16:44:57 +00:00
Edward O'Callaghan 957fa1379c GCC atomic built-ins are available patch to Blocks. - Credit to Bobby Powers.
llvm-svn: 81615
2009-09-12 16:29:10 +00:00
Edward O'Callaghan 882b798a50 Generalize Blocks code and intergrate with cmake build system more.
llvm-svn: 81613
2009-09-12 15:47:39 +00:00
Nick Kledzik 9130011d5f add comparison functions for ARM
llvm-svn: 81597
2009-09-12 01:23:48 +00:00
Nick Kledzik a6bce00934 rename files
llvm-svn: 81572
2009-09-11 21:16:10 +00:00
Nick Kledzik 3d22a3af2d add _test in file names
llvm-svn: 81561
2009-09-11 20:13:32 +00:00
Nick Kledzik b9c6e4a189 start adding implementation of arm *vfp routines with test cases
llvm-svn: 81558
2009-09-11 20:02:01 +00:00
Nick Kledzik 7e71865ca5 use HAS_80_BIT_LONG_DOUBLE so some tests work properly on arm
llvm-svn: 81552
2009-09-11 19:09:36 +00:00
Daniel Dunbar c91aeac18b Stub out structure for building armv{6,7} libs.
llvm-svn: 81482
2009-09-10 23:50:10 +00:00
Daniel Dunbar 85922561ee Unbreak building of assembly files (broken by my .s -> .S rename).
- Noticed & patched by Nick Kledzik.

 - This may expose portability issues in the .S files, if so we should either
   disable them on non-Darwin, or even better make them portable.

llvm-svn: 81476
2009-09-10 23:27:45 +00:00
Daniel Dunbar be6505cbd9 Include universal build step in 'make {Debug,Release,Profile}' targets.
llvm-svn: 81474
2009-09-10 23:13:59 +00:00
Daniel Dunbar c7b06b3edf Support building for a single target architecture.
llvm-svn: 80943
2009-09-03 20:49:22 +00:00
Daniel Dunbar 3c8a7dfada Use -lc -lm to link with (in tests) on non-Darwin.
llvm-svn: 80939
2009-09-03 20:09:38 +00:00
Daniel Dunbar f9812f75d0 Don't use -arch on non-Darwin.
llvm-svn: 80938
2009-09-03 20:03:21 +00:00
Daniel Dunbar da208e779b Convert tabs to spaces.
llvm-svn: 80937
2009-09-03 20:03:14 +00:00
Edward O'Callaghan 6e8ae17e23 Adding FreeBSD to supported platforms list. Credit to Roman Divacky for testing.
llvm-svn: 80914
2009-09-03 11:13:06 +00:00
Edward O'Callaghan 665671ec89 Fix some files that got left behind in early changeset to unnamed unions fix. Credit to Roman Divacky.
llvm-svn: 80913
2009-09-03 09:12:20 +00:00
Edward O'Callaghan 19db729ab4 Add support for ellcc, Credit to Richard Pennington.
llvm-svn: 79332
2009-08-18 11:54:44 +00:00
Edward O'Callaghan 514553d84a Fix testsuit build on linux.
llvm-svn: 79331
2009-08-18 11:50:23 +00:00
Edward O'Callaghan ea0bd0d0a4 Fix pre-processor mistake for BSDs in endianness.h
llvm-svn: 79330
2009-08-18 11:07:59 +00:00
Edward O'Callaghan 40268af91e Temporary define HAVE_SYSCONF until cmake checks are done.
llvm-svn: 78546
2009-08-10 01:02:16 +00:00
Edward O'Callaghan 2dbae9c334 Fix a FIXME for configure check for HAVE_SYSCONF.
llvm-svn: 78545
2009-08-10 00:56:46 +00:00
Nuno Lopes 1586376f2e fix build on linux
llvm-svn: 78538
2009-08-09 18:59:21 +00:00
Edward O'Callaghan ccf48131d0 Refactor to remove un-named struct gnu extension usage. Now ISO C89 and C99 compliant. Comment trailing endifs
llvm-svn: 78537
2009-08-09 18:41:02 +00:00
Edward O'Callaghan f8ba5e9e6e Optimized versions now buildable on Solaris.
llvm-svn: 78457
2009-08-08 04:43:56 +00:00
Edward O'Callaghan 032ab6f978 Fix signedness warning in mprotect call, Clean up and improve endianness.h header.
llvm-svn: 78451
2009-08-08 02:31:50 +00:00
Edward O'Callaghan 5583632adf Code style and Readability fixes. Credit to Craig van Vliet.
llvm-svn: 78403
2009-08-07 20:30:09 +00:00
Edward O'Callaghan e556e8eb9f Forgot to add new endianness.h header file.
llvm-svn: 78235
2009-08-05 19:58:45 +00:00
Edward O'Callaghan 7a6cb5febf Refactor test suit endianness pre-processor code. More style and readability fixes, start labling endif's
llvm-svn: 78234
2009-08-05 19:57:20 +00:00
Edward O'Callaghan dabf71f171 Next batch of C++ to C comment style changes. Also improve and factor out endianness pre-processor code.
llvm-svn: 78226
2009-08-05 19:06:50 +00:00
Edward O'Callaghan 4856eef437 Fixup C++ style comments are not allowed in ISO C90 to classic C style.
llvm-svn: 78152
2009-08-05 04:02:56 +00:00
Edward O'Callaghan df72046277 Start porting compiler-rt testsuit to Solaris with new build system. Fix some C++ style comments which are not allowed in ISO C90.
llvm-svn: 78143
2009-08-05 01:47:29 +00:00
Edward O'Callaghan eb5cb6b515 Some compiler-rt www site improvements.
llvm-svn: 78052
2009-08-04 04:48:38 +00:00
Edward O'Callaghan 30009e7121 Refactor out common pre-processor code.
llvm-svn: 78037
2009-08-04 03:30:10 +00:00
Edward O'Callaghan 7578f80b0c Fix newlinew warning in floatundidf.c , Bulkout CMake system more, complete port to AuroraUX and Solaris.
llvm-svn: 77958
2009-08-03 05:59:48 +00:00
Edward O'Callaghan 43fb93ab2f A few CMake formating fixes for compiler-rt.
llvm-svn: 77937
2009-08-03 02:15:06 +00:00
Edward O'Callaghan 5f730b8565 Small syntax error in HTML.
llvm-svn: 77936
2009-08-03 01:29:04 +00:00
Edward O'Callaghan b472633401 Small improvement to Compiler-RT docs and add a CREDITS.TXT file to source.
llvm-svn: 77934
2009-08-03 01:26:42 +00:00
Edward O'Callaghan 6912ed0f36 Initial import of CMake type build system. Just like the rest of llvm..
llvm-svn: 77933
2009-08-03 01:08:25 +00:00
Chris Lattner 7a76c06c20 improve portability to platforms that don't put python in /usr/bin. Patch by
Pawel Worach!

llvm-svn: 74869
2009-07-06 22:24:16 +00:00
Gabor Greif a6f54b3a40 typos
llvm-svn: 74771
2009-07-03 14:37:30 +00:00
Eli Friedman 30bd27bf7d Misc compiler-rt fixes. Clarify neg implementations to show what is
actually happening.  Fix mod implementation so it doesn't get 
optimized to a recursive call.  Make x86-32 non-SSE2 shift 
implementation use shld/shrd instead of emulating it (the only x86 processor
where the emulation might be remotely close to justifiable is the Pentium 4).

llvm-svn: 74756
2009-07-03 02:26:38 +00:00
Chris Lattner b6fb62ceb0 fix broken links.
llvm-svn: 74727
2009-07-02 21:35:49 +00:00
Chris Lattner c60cfbd302 test commit
llvm-svn: 74726
2009-07-02 21:34:35 +00:00
Chris Lattner aa8450256e mention the license.
llvm-svn: 74725
2009-07-02 21:29:19 +00:00
Chris Lattner 503c370dea add the "get it and get involved" section.
llvm-svn: 74617
2009-07-01 17:16:20 +00:00
Daniel Dunbar c6cd62b351 Add missing include for getpagesize, and fix a typo.
llvm-svn: 74588
2009-07-01 06:06:42 +00:00
Daniel Dunbar 86bb32b138 Fix a Darwinism, .s files meant to be preprocessed should be named .S.
llvm-svn: 74587
2009-07-01 06:04:03 +00:00
Daniel Dunbar f118402877 Use getpagesize() on non-Darwin platforms.
- Presumably we will eventually need configure magic for this stuff.

llvm-svn: 74586
2009-07-01 06:02:53 +00:00
Chris Lattner a1d7ab47fa initial web page for compiler_rt
llvm-svn: 74567
2009-06-30 22:56:43 +00:00
Daniel Dunbar fd089990f7 Initial import of compiler-rt.
-

llvm-svn: 74292
2009-06-26 16:47:03 +00:00
Blaine Garst cc08af1f0c initial version of the blocks runtime
llvm-svn: 73172
2009-06-10 18:41:48 +00:00