Commit Graph

128200 Commits

Author SHA1 Message Date
Peter Collingbourne de7227e5bd Add fma, hypot builtins.
llvm-svn: 157613
2012-05-29 13:35:28 +00:00
Stepan Dyatkovskiy 58107dd547 ConstantRangesSet renamed to IntegersSubset. CRSBuilder renamed to IntegersSubsetMapping.
llvm-svn: 157612
2012-05-29 12:26:47 +00:00
Kostya Serebryany 458b4006b2 [asan,tsan] Add a new directory compiler-rt/lib/sanitizer_common
which will contain code shared between asan and tsan run-times.

Naming is hard. If you can suggest a better name for the directory -- speak up.

llvm-svn: 157611
2012-05-29 12:18:18 +00:00
Alexey Samsonov 1cbe656d66 Fixing ASan build on Win: don't use __asan_default_options
llvm-svn: 157608
2012-05-29 09:39:01 +00:00
Tobias Grosser 084d8f7d4c ScopInfo: Store ScopStmt pointer in the domain
Store a pointer to each ScopStmt in the isl_id associated with the space of its
domain. This will later allow us to recover the statement during code
generation with isl.

llvm-svn: 157607
2012-05-29 09:29:44 +00:00
Tobias Grosser 400a4ac658 Mark the increments of the generated induction variables 'NSW'
In general, all code that we produce is NSW.

llvm-svn: 157606
2012-05-29 09:11:59 +00:00
Tobias Grosser 3a275d20dd Move executeScopConditionally() into its own file
We will reuse this function for the isl code generator.

llvm-svn: 157605
2012-05-29 09:11:54 +00:00
Tobias Grosser 0a91f3220b Move CLooG.h into include/polly/CodeGen/
llvm-svn: 157604
2012-05-29 09:11:46 +00:00
Alexander Potapenko d07b7b529a Do not define ___asan_default_options on Windows.
llvm-svn: 157603
2012-05-29 08:26:18 +00:00
Alexey Samsonov dda3a7f914 Make Clang driver pass the last option from -g group to the compiler.
Leave a better fixme for different debug info flags

llvm-svn: 157602
2012-05-29 08:10:34 +00:00
Charles Davis e8ccc1134b Use fewer temporaries mangling APSInt objects. The performance difference
is negligible, but it makes the code clearer. Based on a suggestion by
Jordy Rose.

llvm-svn: 157601
2012-05-29 07:01:45 +00:00
Alexey Samsonov 80bc3b0d2b Fix atoi stub for linux introduced in r157573. This fixes compiler-rt build on linux.
llvm-svn: 157600
2012-05-29 06:55:01 +00:00
Peter Collingbourne b7fdecd2ec Implement mad builtin.
llvm-svn: 157599
2012-05-29 00:42:38 +00:00
Peter Collingbourne d3c242ae64 Implement exp, exp2, log, log2, native_exp, native_exp2, native_log,
native_log2.  Patch by Joshua Cranmer!

llvm-svn: 157598
2012-05-29 00:42:29 +00:00
Peter Collingbourne 8b3721b01d Fix typo in double precision case.
llvm-svn: 157597
2012-05-29 00:42:21 +00:00
Peter Collingbourne aac265cc78 OpenCL: Fix vector conditional operator CodeGen for the case where
the operands are vectors of doubles.

llvm-svn: 157596
2012-05-29 00:35:18 +00:00
Peter Collingbourne 6f154f16cd Add fabs builtin.
llvm-svn: 157595
2012-05-28 22:22:13 +00:00
Peter Collingbourne 913869be45 Add llvm.fabs intrinsic.
llvm-svn: 157594
2012-05-28 21:48:37 +00:00
Benjamin Kramer 938a71ff18 Fix suspicous isIntegerType() check, found by PVS Studio (PR12357).
llvm-svn: 157593
2012-05-28 21:01:59 +00:00
Benjamin Kramer 9d5849f51d Fix suspicous hasOneUse() check, found by PVS Studio (PR12357).
llvm-svn: 157592
2012-05-28 20:52:48 +00:00
Peter Collingbourne 44a079aa23 Add some tests which had heretofore evaded 'git add'.
llvm-svn: 157591
2012-05-28 20:42:59 +00:00
Peter Collingbourne 3a78a47ace Explicit conversions.
llvm-svn: 157590
2012-05-28 20:42:54 +00:00
Peter Collingbourne a3fc645609 Switch to the NVPTX backend.
llvm-svn: 157589
2012-05-28 20:42:15 +00:00
David Blaikie 7e64fd9d53 Address minor FIXME in RedeclLink to contain a PointerIntPair instead of derive from it.
Use actual factory functions rather than derived classes acting as named constructors/factories.

llvm-svn: 157588
2012-05-28 19:38:42 +00:00
Benjamin Kramer b8743a9150 InstCombine: Fix infinite loop when encountering switch on trivial icmp.
The test case feeds the following into InstCombine's visitSelect:
%tobool8 = icmp ne i32 0, 0
%phitmp = select i1 %tobool8, i32 3, i32 0
Then instcombine replaces the right side of the switch with 0, doesn't notice
that nothing changes and tries again indefinitely.

This fixes PR12897.

llvm-svn: 157587
2012-05-28 19:18:16 +00:00
David Blaikie 1ab17ed57e Remove unused variable.
llvm-svn: 157586
2012-05-28 18:23:36 +00:00
Dmitry Vyukov 9bf897e696 tsan: fix compiler warnings
llvm-svn: 157585
2012-05-28 17:33:08 +00:00
Dmitry Vyukov 880bb6697f tsan: fix race during pthread_join/detach
llvm-svn: 157584
2012-05-28 17:32:50 +00:00
Charles Davis 6770dea704 Fix mangling of integral template arguments between 1 and 10. Add a test case
for this. Reported by Timur Iskhodzhanov.

llvm-svn: 157583
2012-05-28 16:53:33 +00:00
Alexander Potapenko 0efd915d92 Rework the flags machinery a bit.
Clients may define the __asan_default_options char string containing the default options for the tool now.

llvm-svn: 157582
2012-05-28 16:21:19 +00:00
Meador Inge e17b69a373 PR12696: Attribute bits above 1<<30 are not encoded in bitcode
Attribute bits above 1<<30 are now encoded correctly.  Additionally,
the encoding/decoding functionality has been hoisted to helper functions
in Attributes.h in an effort to help the encoding/decoding to stay in
sync with the Attribute bitcode definitions.

llvm-svn: 157581
2012-05-28 15:45:43 +00:00
Alexander Potapenko db892de581 More verbose check in AppendString.
llvm-svn: 157580
2012-05-28 15:00:45 +00:00
Dmitry Vyukov e1bbb2f34a tsan: pass CFLAGS to tests
llvm-svn: 157579
2012-05-28 14:15:39 +00:00
Dmitry Vyukov ed5bc02740 tsan: be more conservative wrt symbolizer output
llvm-svn: 157578
2012-05-28 14:14:53 +00:00
Benjamin Kramer 9704ed0304 Random BitcodeReader cleanups.
llvm-svn: 157577
2012-05-28 14:10:31 +00:00
Stepan Dyatkovskiy e3e19cbb13 PR1255: Case Ranges
Implemented IntItem - the wrapper around APInt. Why not to use APInt item directly right now?
1. It will very difficult to implement case ranges as series of small patches. We got several large and heavy patches. Each patch will about 90-120 kb. If you replace ConstantInt with APInt in SwitchInst you will need to changes at the same time all Readers,Writers and absolutely all passes that uses SwitchInst.
2. We can implement APInt pool inside and save memory space. E.g. we use several switches that works with 256 bit items (switch on signatures, or strings). We can avoid value duplicates in this case.
3. IntItem can be easyly easily replaced with APInt.
4. Currenly we can interpret IntItem both as ConstantInt and as APInt. It allows to provide SwitchInst methods that works with ConstantInt for non-updated passes.

Why I need it right now? Currently I need to update SimplifyCFG pass (EqualityComparisons). I need to work with APInts directly a lot, so peaces of code
ConstantInt *V = ...;
if (V->getValue().ugt(AnotherV->getValue()) {
  ...
}
will look awful. Much more better this way:
IntItem V = ConstantIntVal->getValue();
if (AnotherV < V) {
}

Of course any reviews are welcome.

P.S.: I'm also going to rename ConstantRangesSet to IntegersSubset, and CRSBuilder to IntegersSubsetMapping (allows to map individual subsets of integers to the BasicBlocks).
Since in future these classes will founded on APInt, it will possible to use them in more generic ways.

llvm-svn: 157576
2012-05-28 12:39:09 +00:00
Stepan Dyatkovskiy fdc233f30b SwitchInst: Due to bad readability case iterators definition was moved to the end of SwitchInst.
llvm-svn: 157575
2012-05-28 10:11:27 +00:00
Bill Wendling aa888a29eb Add support for the GCOV_PREFIX_STRIP env variable which tries to strip off the first 'n' directories from the filename.
llvm-svn: 157574
2012-05-28 10:09:01 +00:00
Bill Wendling 1e039681c5 Add stub for 'atoi'.
llvm-svn: 157573
2012-05-28 09:58:27 +00:00
Bill Wendling 65adec933d Simplify the logic that tries to open the GCDA file at all costs. Basically, if
we can't open the file even after creating all of the directories to it, then
just give up.

llvm-svn: 157572
2012-05-28 09:46:43 +00:00
Bill Wendling bba2a7d46d * A bit of cleanup of the 'recursive_mkdir'. No functionality change.
* Check for absolute paths before using the GCOV_PREFIX.
* Don't add an ending path separator if there's already one.

llvm-svn: 157571
2012-05-28 09:41:48 +00:00
Dmitry Vyukov d558530754 tsan: increase /proc/self/maps max size (1M is far not enough)
llvm-svn: 157570
2012-05-28 09:24:01 +00:00
Dmitry Vyukov bd310f02a5 asan/tsan: rename interceptors from __xsan_xxx to __interceptor_xxx
llvm-svn: 157569
2012-05-28 07:47:35 +00:00
Dmitry Vyukov ebdf670ae7 tsan: more robust detection of stack of main thread
llvm-svn: 157568
2012-05-28 07:46:42 +00:00
Dmitry Vyukov 3de9ca068f tsan: use DCHECK_GT/LT instead of plain DCHECK (better diagnostics)
llvm-svn: 157567
2012-05-28 07:45:35 +00:00
Dmitry Vyukov 2d4e3c140f tsan: do not clean stack/tls for main thread
llvm-svn: 157566
2012-05-28 07:44:34 +00:00
Dmitry Vyukov 9b13e9f3b5 asan: remove static libraries on make clean
llvm-svn: 157565
2012-05-28 07:43:36 +00:00
Bill Wendling 1560517ec3 Implement the indirect counter increment code in a better way. Instead of
replicating the code for every place it's needed, we instead generate a function
that does that for us. This function is local to the executable, so there
shouldn't be any writing violations.

llvm-svn: 157564
2012-05-28 06:10:56 +00:00
Filipe Cabecinhas 2137c928b0 Remove all written files
llvm-svn: 157562
2012-05-28 04:07:56 +00:00
Charles Davis ee855f06e7 Fix Lang's fix. This should fix the tests for +Asserts builds.
llvm-svn: 157561
2012-05-28 03:54:22 +00:00