Commit Graph

241 Commits

Author SHA1 Message Date
Anton Korobeynikov 3c5199042a Add some macro magic: user __USER_LABEL_PREFIX__ instead of hardcoding it for each platform
llvm-svn: 129818
2011-04-19 21:22:14 +00:00
Anton Korobeynikov 4322a7d2c6 More fixes for missed includes
llvm-svn: 129807
2011-04-19 20:50:32 +00:00
Anton Korobeynikov 147ecfad82 Add missed include
llvm-svn: 129804
2011-04-19 20:45:29 +00:00
Anton Korobeynikov 0529d4da93 Add missed files from my last commit.
llvm-svn: 129777
2011-04-19 18:14:19 +00:00
Anton Korobeynikov e63da933eb Move abi bits to separate header. Force AAPCS for EABI in accordance with ARM RTABI.
llvm-svn: 129769
2011-04-19 17:52:09 +00:00
Anton Korobeynikov 75e3c1993c Add ARM EABI function aliases to routines
llvm-svn: 129768
2011-04-19 17:51:24 +00:00
Anton Korobeynikov bdadd87c4d Make use of LOCAL_LABEL macro
llvm-svn: 129767
2011-04-19 17:50:42 +00:00
Anton Korobeynikov 1653610449 Get rid of darwin'isms. Provide convenient macro for assembler local lables.
llvm-svn: 129766
2011-04-19 17:50:09 +00:00
Daniel Dunbar ddd3a2ec1d clang_darwin: Tweak runtime library definitions to include divmod functions.
llvm-svn: 129757
2011-04-19 15:14:46 +00:00
Nick Kledzik 19b826011e <rdar://problem/9282305> install an archive for dyld and fix missing -static
llvm-svn: 129492
2011-04-14 00:45:01 +00:00
Nick Kledzik e7e288c805 don't add version info for static library
llvm-svn: 129489
2011-04-14 00:40:20 +00:00
Nick Kledzik 012323dee9 <rdar://problem/9173756> enable CC.Release to be used always
llvm-svn: 129487
2011-04-14 00:39:01 +00:00
Nick Kledzik aa60d6ac01 fix typo
llvm-svn: 129389
2011-04-12 21:22:48 +00:00
Nick Kledzik 191c2804e7 <rdar://problem/9185449> update version info for arm
llvm-svn: 129386
2011-04-12 21:11:47 +00:00
Daniel Dunbar 1d84f37577 clang/Darwin: Add all the comparison functions, the desire to cherry pick just
the ones we want isn't worth the effort.

llvm-svn: 128298
2011-03-25 19:19:10 +00:00
Daniel Dunbar 4c70f3e6ac Revert "Split single & double comparison routines into separate implementation
files," for now, I missed some necesary updates.

llvm-svn: 128296
2011-03-25 18:45:39 +00:00
Daniel Dunbar 1102c9ae58 Split single & double comparison routines into separate implementation files,
for consistency.

llvm-svn: 128282
2011-03-25 15:52:51 +00:00
Daniel Dunbar 1730ab0b94 compiler-rt/clang/cc_kext: Update for functions which we have sinced acquired
implementations for.

llvm-svn: 128039
2011-03-21 23:31:09 +00:00
Daniel Dunbar f3798a397d compiler-rt: Split subdf3 and subsf3 out of add implementations, for
consistency.

llvm-svn: 128038
2011-03-21 23:30:19 +00:00
Stephen Canon 32acbef33f slight re-arrangement to maybe pick up one cycle on dual-issue ARM cores
llvm-svn: 128003
2011-03-21 17:35:26 +00:00
Stephen Canon 5abb5c14c4 Carefully written implementations of the 32-bit integer divide and modulus functions for ARM. These are still using a naive digit-by-digit algorithm, but the core loop has been carefully written.
llvm-svn: 127882
2011-03-18 16:35:02 +00:00
Nick Kledzik 47a823b281 <rdar://problem/8914924> implement udivmodsi4 and divmodsi4 for ARM
llvm-svn: 127778
2011-03-17 00:09:13 +00:00
Nick Kledzik 371d881758 <rdar://problem/9145073> use -Os for release builds
llvm-svn: 127767
2011-03-16 22:23:24 +00:00
Chris Lattner 15bc34c7c2 don't compile modsi3 into an infinite loop, patch by Matt Johnson!
llvm-svn: 127429
2011-03-10 22:11:46 +00:00
Nick Kledzik b611885ae6 <rdar://problem/9099747> fix use of SDKROOT
llvm-svn: 127270
2011-03-08 20:25:22 +00:00
Nick Kledzik fc1586cf9f <rdar://problem/9091300> update Apple packaging of compiler-rt
llvm-svn: 127057
2011-03-05 02:15:16 +00:00
Daniel Dunbar fee882c203 clang_darwin: We don't need clear_cache for use with Clang on ARM/Darwin.
llvm-svn: 123989
2011-01-21 18:23:47 +00:00
Daniel Dunbar e1e6acecb3 clang_darwin: Build with -fno-builtin, primarily to avoid issues with defining possible builtin functions.
llvm-svn: 123988
2011-01-21 18:23:42 +00:00
Daniel Dunbar 384a842085 clang_darwin: Start building an armv7 slice for cc_kext.
llvm-svn: 123987
2011-01-21 18:23:37 +00:00
Daniel Dunbar 77b059e32b clang_darwin: Build cckext bits with -mthumb.
llvm-svn: 123986
2011-01-21 18:23:32 +00:00
Daniel Dunbar d8baa2b4b0 Fix typo.
llvm-svn: 123985
2011-01-21 18:23:27 +00:00
Nick Kledzik 9f1bd06ae9 Add missing <stdint.h> to build properly on Solaris. Patch by Joakim Johansson
llvm-svn: 123006
2011-01-07 19:09:06 +00:00
Howard Hinnant 5b791f6e64 license change
llvm-svn: 119397
2010-11-16 22:13:33 +00:00
Chris Lattner f8a07f67e7 compiler_rt is now dual licensed under MIT and UIUC license.
llvm-svn: 119389
2010-11-16 21:34:56 +00:00
Daniel Dunbar dde0471072 make: Add CheckCommandLineOverrides to my little Makefile library, a routine for
validating the variables set on the make command line.

llvm-svn: 116517
2010-10-14 21:23:37 +00:00
Nick Kledzik c2d789b95e <rdar://problem/8482056> Add Soft Floating Compares for armv6 and armv7
llvm-svn: 114854
2010-09-27 18:28:15 +00:00
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