Commit Graph

113 Commits

Author SHA1 Message Date
Daniel Dunbar 960d55e9ff lib/ppc: Fix a refacto.
llvm-svn: 144809
2011-11-16 18:56:53 +00:00
Daniel Dunbar 2139c52d33 lib: Finish int_math.h definitions using compiler builtins and eliminate
implementation use of <math.h>.

llvm-svn: 144786
2011-11-16 07:33:06 +00:00
Daniel Dunbar ddf1890a5e lib: Starting thinning out the dependency on math.h by using compiler builtins
where available.

llvm-svn: 144785
2011-11-16 07:33:00 +00:00
Daniel Dunbar b151274d3d lib: Remove uses of complex.h which does not appear to be required.
llvm-svn: 144754
2011-11-16 01:19:32 +00:00
Daniel Dunbar 490a270f18 lib/gcc_personality_v0: Remove an unnecessary include.
llvm-svn: 144753
2011-11-16 01:19:29 +00:00
Daniel Dunbar 5ed39314ce lib: Eliminate direct include of stdlib.h from files that used to (potentially)
need it for compilerrt_abort().

llvm-svn: 144752
2011-11-16 01:19:26 +00:00
Daniel Dunbar 2b88e03404 lib: Add support for library wide utility functions, and make compilerrt_abort()
a real boy.
 - The utility module needs to be included into every produced library, because
   we don't have enough dependency tracking to know exactly which other modules
   might require the utilities.

llvm-svn: 144751
2011-11-16 01:19:19 +00:00
Daniel Dunbar 2f9c1404dd lib/{ppc,x86_64}: Fixup a number of files to include int_lib.h instead of
directly including system headers.

llvm-svn: 144750
2011-11-16 01:19:16 +00:00
Daniel Dunbar 7557f0248a lib: Remove math.h from int_lib.h, which doesn't appear to be required.
llvm-svn: 144749
2011-11-16 01:19:12 +00:00
Daniel Dunbar 7205b23e79 lib: Include float.h in int_lib.h, and eliminate duplicate includes from a number of source files.
llvm-svn: 144739
2011-11-16 00:20:36 +00:00
Daniel Dunbar fd1fb8515f lib: Include stdbool.h in int_lib.h, and eliminate duplicate includes from a number of source files.
llvm-svn: 144671
2011-11-15 19:02:22 +00:00
Daniel Dunbar cc675f410e lib: Rename endianness.h to int_endianness.h (for consistency) and tidy up a bit.
llvm-svn: 144669
2011-11-15 18:56:21 +00:00
Daniel Dunbar ad4f982879 lib: Split out int_types.h, for readability.
llvm-svn: 144668
2011-11-15 18:56:13 +00:00
Daniel Dunbar b6f75f73fd lib: Integrate abi.h into int_lib.h, there aren't good enough reasons for this extra complexity.
llvm-svn: 144660
2011-11-15 18:34:44 +00:00
Bob Wilson 7184d9fc33 Change ARM vfp assembly functions to use unified syntax.
llvm-svn: 138332
2011-08-23 16:40:18 +00:00
Bob Wilson 66cdd22ff4 Refactor DEFINE_COMPILERRT_FUNCTION.
llvm-svn: 138277
2011-08-22 21:49:47 +00:00
Joerg Sonnenberger 8b068943a4 Don't redeclare sr.
llvm-svn: 136424
2011-07-28 23:15:41 +00:00
Joerg Sonnenberger cf2996dc22 Don't redeclare sr.
llvm-svn: 136377
2011-07-28 19:47:33 +00:00
Eric Christopher 1d1809437e Implement mulo<mode>4 for use in signed overflow checking.
Fixes rdar://9219742 and rdar://9218244

llvm-svn: 133284
2011-06-17 20:17:05 +00:00
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
Nick Kledzik e7e288c805 don't add version info for static library
llvm-svn: 129489
2011-04-14 00:40:20 +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 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 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
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 fc1586cf9f <rdar://problem/9091300> update Apple packaging of compiler-rt
llvm-svn: 127057
2011-03-05 02:15:16 +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
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
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 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