summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix mangling of integral template arguments between 1 and 10. Add a test caseCharles Davis2012-05-282-2/+5
| | | | | | for this. Reported by Timur Iskhodzhanov. llvm-svn: 157583
* Rework the flags machinery a bit.Alexander Potapenko2012-05-283-86/+118
| | | | | | Clients may define the __asan_default_options char string containing the default options for the tool now. llvm-svn: 157582
* PR12696: Attribute bits above 1<<30 are not encoded in bitcodeMeador Inge2012-05-284-26/+211
| | | | | | | | | 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
* More verbose check in AppendString.Alexander Potapenko2012-05-281-1/+1
| | | | llvm-svn: 157580
* tsan: pass CFLAGS to testsDmitry Vyukov2012-05-281-5/+2
| | | | llvm-svn: 157579
* tsan: be more conservative wrt symbolizer outputDmitry Vyukov2012-05-281-9/+9
| | | | llvm-svn: 157578
* Random BitcodeReader cleanups.Benjamin Kramer2012-05-281-49/+25
| | | | llvm-svn: 157577
* PR1255: Case RangesStepan Dyatkovskiy2012-05-2811-154/+262
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* SwitchInst: Due to bad readability case iterators definition was moved to ↵Stepan Dyatkovskiy2012-05-281-131/+139
| | | | | | the end of SwitchInst. llvm-svn: 157575
* Add support for the GCOV_PREFIX_STRIP env variable which tries to strip off ↵Bill Wendling2012-05-281-3/+22
| | | | | | the first 'n' directories from the filename. llvm-svn: 157574
* Add stub for 'atoi'.Bill Wendling2012-05-282-0/+2
| | | | llvm-svn: 157573
* Simplify the logic that tries to open the GCDA file at all costs. Basically, ifBill Wendling2012-05-281-13/+2
| | | | | | | we can't open the file even after creating all of the directories to it, then just give up. llvm-svn: 157572
* * A bit of cleanup of the 'recursive_mkdir'. No functionality change.Bill Wendling2012-05-281-19/+16
| | | | | | | * Check for absolute paths before using the GCOV_PREFIX. * Don't add an ending path separator if there's already one. llvm-svn: 157571
* tsan: increase /proc/self/maps max size (1M is far not enough)Dmitry Vyukov2012-05-281-1/+1
| | | | llvm-svn: 157570
* asan/tsan: rename interceptors from __xsan_xxx to __interceptor_xxxDmitry Vyukov2012-05-284-10/+10
| | | | llvm-svn: 157569
* tsan: more robust detection of stack of main threadDmitry Vyukov2012-05-281-2/+6
| | | | llvm-svn: 157568
* tsan: use DCHECK_GT/LT instead of plain DCHECK (better diagnostics)Dmitry Vyukov2012-05-281-4/+4
| | | | llvm-svn: 157567
* tsan: do not clean stack/tls for main threadDmitry Vyukov2012-05-281-11/+13
| | | | llvm-svn: 157566
* asan: remove static libraries on make cleanDmitry Vyukov2012-05-281-0/+1
| | | | llvm-svn: 157565
* Implement the indirect counter increment code in a better way. Instead ofBill Wendling2012-05-281-53/+72
| | | | | | | | 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
* Remove all written filesFilipe Cabecinhas2012-05-281-1/+1
| | | | llvm-svn: 157562
* Fix Lang's fix. This should fix the tests for +Asserts builds.Charles Davis2012-05-281-1/+1
| | | | llvm-svn: 157561
* Don't use 'strrchr', which isn't implemented here yet.Bill Wendling2012-05-281-6/+15
| | | | llvm-svn: 157560
* Sync with old GCOV runtime library's file.Bill Wendling2012-05-281-18/+28
| | | | llvm-svn: 157559
* adjust to mainline llvm API change.Chris Lattner2012-05-282-6/+3
| | | | llvm-svn: 157557
* switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients.Chris Lattner2012-05-289-57/+43
| | | | llvm-svn: 157556
* simplify code.Chris Lattner2012-05-281-3/+2
| | | | llvm-svn: 157555
* add some helper methods to make the type more uniform.Chris Lattner2012-05-281-0/+17
| | | | llvm-svn: 157554
* Fix PR12960 by not attempting to correct cases when we're not actually ↵David Blaikie2012-05-282-1/+11
| | | | | | | | | | instantiatiating a template. This comes up in the begin/end calls of a range-for (see the included test case). Other suggestions are welcome, though this seems to do the trick without regressing anything. llvm-svn: 157553
* Test case for 157547. Before that patch, all the digits would be mangledCharles Davis2012-05-281-0/+12
| | | | | | as zeroes. Now the digits are properly non-zero. llvm-svn: 157552
* rdar://11542750 - llvm.trap should be marked no return.Chris Lattner2012-05-276-8/+43
| | | | llvm-svn: 157551
* DenseMap: Use an early exit when there is nothing to do in DestroyAll().Benjamin Kramer2012-05-271-4/+5
| | | | llvm-svn: 157550
* PR12962: Fix a rare use after free when collecting virtual overrides.Benjamin Kramer2012-05-272-2/+60
| | | | | | | The DenseMap reallocates after 64 insertions so this only happened in large test cases under very specific circumstances. llvm-svn: 157549
* PR12967: Don't crash when trying to fold a shift that's larger than the ↵Benjamin Kramer2012-05-272-1/+62
| | | | | | type's size. llvm-svn: 157548
* Fix call to APSInt constructor - it doesn't take an initial value, just aLang Hames2012-05-271-3/+4
| | | | | | | | bitwidth and signedness. Also rename the variable to reflect its purpose. No test case - discovered during random code exploration. llvm-svn: 157547
* IntrusiveRefCntPtr: Use the same pattern as the other operator= overloads ↵Benjamin Kramer2012-05-271-4/+3
| | | | | | when using rvalue refs. llvm-svn: 157546
* Reimplement the intrinsic verifier to use the same table as ↵Chris Lattner2012-05-273-403/+107
| | | | | | | | | | | | | Intrinsic::getDefinition, making it stronger and more sane. Delete the code from tblgen that produced the old code. Besides being a path forward in intrinsic sanity, this also eliminates a bunch of machine generated code that was compiled into Function.o llvm-svn: 157545
* These tests used intrinsics with the wrong prototype. They weren't caught ↵Chris Lattner2012-05-274-26/+28
| | | | | | | | | because the old verifier just checked that something "was a pointer", but not that the pointee was correct. llvm-svn: 157544
* remove two (useless) tests that use incorrect intrinsic prototypes, detected ↵Chris Lattner2012-05-272-55/+0
| | | | | | by the new intrinsic verifier. llvm-svn: 157543
* generalize this to allow any argument.Chris Lattner2012-05-271-2/+4
| | | | llvm-svn: 157542
* Have getOrCreateSubprogramDIE store the DIE for a subprogramPeter Collingbourne2012-05-272-5/+243
| | | | | | | | | definition in the map before calling itself to retrieve the DIE for the declaration. Without this change, if this causes getOrCreateSubprogramDIE to be recursively called on the definition, it will create multiple DIEs for that definition. Fixes PR12831. llvm-svn: 157541
* move some code around so that Verifier.cpp can get access to the intrinsic ↵Chris Lattner2012-05-273-79/+231
| | | | | | info table. llvm-svn: 157540
* DenseMap: Provide a move ctor and move semantics for operator[] and ↵Benjamin Kramer2012-05-271-2/+56
| | | | | | | | | | FindAndConstruct. The only missing part is insert(), which uses a pair of parameters and I haven't figured out how to convert it to rvalue references. It's now possible to use a DenseMap with std::unique_ptr values :) llvm-svn: 157539
* DenseMap: Factor destruction into a common helper method.Benjamin Kramer2012-05-271-26/+15
| | | | llvm-svn: 157538
* -Wdeprecated warning to include reference (as a note)Fariborz Jahanian2012-05-279-42/+46
| | | | | | to the declaration in this patch. // rdar://10893232 llvm-svn: 157537
* enhance the intrinsic info table to encode what *kind* of Any argumentChris Lattner2012-05-272-13/+21
| | | | | | | it is (at the cost of 45 bytes of extra table space) so that the verifier can start using it. llvm-svn: 157536
* Move-enable IntrusiveRefCntPtr.Benjamin Kramer2012-05-271-2/+27
| | | | | | | These tend to be copied around a lot, moving it instead saves a ton of memory accesses. llvm-svn: 157535
* Pass ProgramStateRef by reference.Benjamin Kramer2012-05-271-1/+1
| | | | | | Retain + Release on a ref counted pointer is cheap, but not free (it adds a function call in this case). llvm-svn: 157534
* Close HTML tag properly.Dmitri Gribenko2012-05-271-1/+1
| | | | llvm-svn: 157533
* Use the SelectorSet typedef more widely throughout Sema.Benjamin Kramer2012-05-273-13/+13
| | | | | | While there make it a SmallPtrSet. llvm-svn: 157532
OpenPOWER on IntegriCloud