Daniel Dunbar
fc4a4a3cbc
asan: #if 0 out some unused functions (we build with -Werror).
...
llvm-svn: 145645
2011-12-01 23:35:47 +00:00
Kostya Serebryany
5dfa4da0b9
[asan] flatten the asan-rt build slightly
...
llvm-svn: 145631
2011-12-01 21:40:52 +00:00
Kostya Serebryany
f318e29102
test asan at -O0
...
llvm-svn: 145532
2011-11-30 22:27:30 +00:00
Kostya Serebryany
15dd3f2500
Refactor shadow poisoning done by asan-rt, no funtionality changes; patch by samsonov@google.com
...
llvm-svn: 145505
2011-11-30 18:50:23 +00:00
Kostya Serebryany
9d1eee9e2a
fix asan-rt build on Mac. Patch by glider@google.com
...
llvm-svn: 145496
2011-11-30 17:33:13 +00:00
Kostya Serebryany
019b76f5fd
AddressSanitizer run-time library. Not yet integrated with the compiler-rt build system, but can be built using the old makefile. See details in README.txt
...
llvm-svn: 145463
2011-11-30 01:07:02 +00:00
Daniel Dunbar
e2ed5fb636
lib/int_util: My refactoring to allow shared utility code had a fatal flaw when
...
multiple .a files would end up with duplicate strong definitions. This could
cause link failures in certain scenarios when both definitions got loaded.
- The best solution I see for this (aside from not factoring out the utility
code) is to mark the definitions weak. Better solutions appreciated!
llvm-svn: 145427
2011-11-29 19:44:14 +00:00
Daniel Dunbar
fb16114782
lib: Import GCDA profiling support from LLVM.
...
- I'm in the process of moving this here but it will live in both places until
the ancilliary support is ready.
- Currently unused.
llvm-svn: 144865
2011-11-17 00:12:10 +00:00
Daniel Dunbar
82f9c199e8
lib/int_math: Some versions of GCC don't provide __builtin_isfinite. Support
...
them.
llvm-svn: 144810
2011-11-16 18:56:55 +00:00
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
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
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
Nick Kledzik
c6cacf9858
sjlj based personality requires a different name
...
llvm-svn: 103330
2010-05-07 23:44:20 +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
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
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
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
ac02b5a09c
fix return type of _Unwind_Exception.exception_cleanup
...
llvm-svn: 93983
2010-01-20 06:13:20 +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
6bcbef6230
Rename subdir 'Target' variable to 'Implementation' to be less overloaded.
...
llvm-svn: 93718
2010-01-18 06:49:09 +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
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
a8fa825177
Fix DragonFly BSD define in compiler-rt.
...
llvm-svn: 85726
2009-11-01 18:25:55 +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
a55dd008ad
Update CMake build system with target arch source file lists.
...
llvm-svn: 85448
2009-10-29 00:07:46 +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
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
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
Nick Kledzik
9130011d5f
add comparison functions for ARM
...
llvm-svn: 81597
2009-09-12 01:23:48 +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
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
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
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
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
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
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
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
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
Daniel Dunbar
fd089990f7
Initial import of compiler-rt.
...
-
llvm-svn: 74292
2009-06-26 16:47:03 +00:00