Commit Graph

205 Commits

Author SHA1 Message Date
Daniel Dunbar 5680b2a09c compiler-rt/clang/Darwin: Add a new library configuration which has nothing
other than eprintf for i386.

llvm-svn: 114504
2010-09-21 23:42:49 +00:00
Stephen Canon 5f0e6e7b92 Adds an extra explicit cast to fix Bug 7931 and removes codepaths that were never used
llvm-svn: 111269
2010-08-17 19:13:45 +00:00
Blaine Garst be67b4aa20 add unit tests
llvm-svn: 110278
2010-08-04 23:34:21 +00:00
Nick Kledzik cceb1f2e67 add assembly implementation of modsi3 so compiler does not have to special case a - (a / b) * b optimization
llvm-svn: 109492
2010-07-27 06:24:32 +00:00
Stephen Canon 8770d3d367 Fix error in rep_clz on non-LP64 targets. Patch by Christoph Gerum
llvm-svn: 109416
2010-07-26 18:17:00 +00:00
Stephen Canon df69264765 Hand-tuning of single-precision soft-float comparison routines for ARM
llvm-svn: 107891
2010-07-08 17:45:05 +00:00
Nick Kledzik 238bc001ca fix install location
llvm-svn: 107589
2010-07-04 18:29:23 +00:00
Nick Kledzik 9445ef8f4a fix arvm5 builds
llvm-svn: 107588
2010-07-04 18:29:01 +00:00
Stephen Canon 644ab08dec Initial implementation of double-precision soft-float division, moved a couple utility functions from the multiplications into the utility header
llvm-svn: 107586
2010-07-04 16:53:39 +00:00
Stephen Canon 9ae6fd58c4 Single-precision soft-float division
llvm-svn: 107579
2010-07-04 06:15:44 +00:00
Stephen Canon 909f6c7bc4 Further cleanup of ARM bswap implementations, thanks to John Tytgat
llvm-svn: 107576
2010-07-03 21:47:50 +00:00
Stephen Canon b84e7dc80e Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the need to establish a frame
llvm-svn: 107555
2010-07-03 01:00:49 +00:00
Stephen Canon 7973295a19 Renamed unsigned->float routines to match GCC convention
llvm-svn: 107554
2010-07-03 00:56:03 +00:00
Nick Kledzik 209ac43b76 ARM before armv6 did not supprt 'rev' instruction
llvm-svn: 107548
2010-07-03 00:12:47 +00:00
Stephen Canon 04b97967dd [unsigned] int -> float soft-float conversions for single- and double-precision
llvm-svn: 107535
2010-07-02 23:05:46 +00:00
Stephen Canon 4be0d7ead9 float- and double-to-integer soft-float conversions for compiler-rt
llvm-svn: 107524
2010-07-02 22:10:58 +00:00
Stephen Canon 75a21dc9a7 Tests for soft-float comparison functions
llvm-svn: 107414
2010-07-01 18:35:50 +00:00
Stephen Canon e9946d0d3f ... and one more fix to remove some warnings in the new double -> float conversion
llvm-svn: 107409
2010-07-01 18:02:15 +00:00
Stephen Canon 74eaf1f66c Correction to previous commit which mistakenly included older versions of some files; now includes the correct LLVM license header
llvm-svn: 107408
2010-07-01 17:58:24 +00:00
Stephen Canon b1fdde1d01 Adding soft-float comparisons, addition, subtraction, multiplication and negation
llvm-svn: 107400
2010-07-01 15:52:42 +00:00
Stephen Canon 60a234f079 This is a test commit to verify repository access.
llvm-svn: 106376
2010-06-19 04:34:50 +00:00
Nick Kledzik 749dc33dff <rdar://problem/7987491> Libcompiler_rt isn't platform aware
llvm-svn: 103852
2010-05-15 01:42:04 +00:00
Nick Kledzik 386e5f364e tweak arm exports
llvm-svn: 103331
2010-05-07 23:44:43 +00:00
Nick Kledzik c6cacf9858 sjlj based personality requires a different name
llvm-svn: 103330
2010-05-07 23:44:20 +00:00
Chris Lattner 2dd1552588 improve bullets, patch by Mike Miller
llvm-svn: 103000
2010-05-04 05:19:07 +00:00
Charles Davis b2403ee273 Fix build with MSVC.
llvm-svn: 102671
2010-04-29 23:44:00 +00:00
Nick Kledzik 26274da38f improve arm build support on darwin
llvm-svn: 102032
2010-04-21 22:46:53 +00:00
Nick Kledzik 8e7ebea0b9 add explicit alignment directives to assure arm code is 4-byte aligned
llvm-svn: 102030
2010-04-21 22:36:23 +00:00
Blaine Garst b4d7aa6fd6 update copyright notices
llvm-svn: 101986
2010-04-21 04:34:46 +00:00
Nick Kledzik 5b0a0629a3 add include of int_lib.h to match change to use compilerrt_abort()
llvm-svn: 101396
2010-04-15 20:37:56 +00:00
Daniel Dunbar 2843b5ed7f clang/Darwin: Don't include enable_execute_stack in libcc_kext.a.
llvm-svn: 100055
2010-03-31 22:36:07 +00:00
Nick Kledzik 516f36d133 <rdar://problem/7733536> Move libcompiler_rt over to a dylib target for Libsystem
llvm-svn: 100045
2010-03-31 20:38:57 +00:00
Nick Kledzik b3d3ec7091 <rdar://problem/7813254> check enable_execute_stack implementation
llvm-svn: 100036
2010-03-31 19:52:01 +00:00
Daniel Dunbar 587b1d419d Add new build option KERNEL_USE, which compiles with -mkernel and gets propogated to CFLAGS. Use this to call panic() instead of abort() when enabled.
llvm-svn: 100015
2010-03-31 17:00:48 +00:00
Daniel Dunbar f287008791 Use a private compilerrt_abort() define instead of calling abort directly.
- Fiddling with abort directly is annoying given the way we use system includes, although it would be nice to fix this so we could make sure calling abort directly is verboten.

llvm-svn: 100014
2010-03-31 17:00:45 +00:00
Daniel Dunbar 36e6b654a2 Don't build an armv7 slice for now, it has the same stuff as on armv6.
llvm-svn: 99654
2010-03-26 21:07:05 +00:00
Daniel Dunbar 8900ab9b2f Clang/Darwin: Add definition for files to put in cc_kext.a.
llvm-svn: 99632
2010-03-26 18:52:45 +00:00
Nick Kledzik debb901045 add __sync_synchronize. Needed by compiler when emitting thumb1 with -fno-builtin
llvm-svn: 95132
2010-02-02 21:34:04 +00:00
Nick Kledzik 1683cebc9d add compiler options for B&I builds
llvm-svn: 95123
2010-02-02 21:03:34 +00:00
Nick Kledzik 3efa0ef21a FUNCTIONS.armv6 to have actual function names
llvm-svn: 95018
2010-02-01 22:40:40 +00:00
Nick Kledzik 10b2046750 document runtime support functions
llvm-svn: 94223
2010-01-22 21:21:14 +00:00
Daniel Dunbar f99eaa948d Tweak clang_darwin config to strip off any -arch if the user overrides CC, we do
this during an Apple style build.

llvm-svn: 94216
2010-01-22 21:06:18 +00:00
Howard Hinnant 16139b5f2d Updated README.txt
llvm-svn: 94016
2010-01-20 19:53:19 +00:00
Howard Hinnant adc1c56e49 Updated README.txt
llvm-svn: 94011
2010-01-20 18:44:52 +00:00
Nick Kledzik ac02b5a09c fix return type of _Unwind_Exception.exception_cleanup
llvm-svn: 93983
2010-01-20 06:13:20 +00:00
Daniel Dunbar 857138f663 clang/Darwin: Rename x86_10.4 static lib config to just 10.4, and add 'eprintf'
which seems to be needed.

llvm-svn: 93969
2010-01-20 02:34:31 +00:00
Daniel Dunbar d5f5236468 Add .mk for use by clang/Darwin.
llvm-svn: 93817
2010-01-19 00:01:22 +00:00
Daniel Dunbar bdf248d13a Allow UniversalArchs variable to be overridden on a per-config basis.
llvm-svn: 93816
2010-01-19 00:01:15 +00:00
Daniel Dunbar 4c43c2bc73 Split up switch.S and save_restore_d8_d15.S to follow one function per file convention.
llvm-svn: 93815
2010-01-19 00:01:10 +00:00
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