summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve the diagnostic messages on dynamic_cast.Howard Hinnant2012-09-281-6/+6
| | | | llvm-svn: 164833
* Due to a mistake on my own part, I need to burn some version numbers. This ↵Howard Hinnant2012-09-281-1/+1
| | | | | | does not impact any of the implementation of libc++, and does not impact the ABI in any way. llvm-svn: 164832
* Removing dependency on third party library for Intel JIT event support.Andrew Kaylor2012-09-2815-376/+1285
| | | | | | Patch committed on behalf of Kirill Uhanov llvm-svn: 164831
* [analyzer] Handle inlined constructors for rvalue temporaries correctly.Jordan Rose2012-09-283-7/+22
| | | | | | | | | | | | | | | Previously the analyzer treated all inlined constructors like lvalues, setting the value of the CXXConstructExpr to the newly-constructed region. However, some CXXConstructExprs behave like rvalues -- in particular, the implicit copy constructor into a pass-by-value argument. In this case, we want only the /contents/ of a temporary object to be passed, so that we can use the same "copy each argument into the parameter region" algorithm that we use for scalar arguments. This may change when we start modeling destructors of temporaries, but for now this is the last part of <rdar://problem/12137950>. llvm-svn: 164830
* [analyzer] Create a temp region when a method is called on a struct rvalue.Jordan Rose2012-09-282-22/+40
| | | | | | | | | | | | | An rvalue has no address, but calling a C++ member function requires a 'this' pointer. This commit makes the analyzer create a temporary region in which to store the struct rvalue and use as a 'this' pointer whenever a member function is called on an rvalue, which is essentially what CodeGen does. More of <rdar://problem/12137950>. The last part is tracking down the C++ FIXME in array-struct-region.cpp. llvm-svn: 164829
* [analyzer] Create a temporary region for rvalue structs when accessing fieldsJordan Rose2012-09-283-13/+20
| | | | | | | | | | | | | | | | | Struct rvalues are represented in the analyzer by CompoundVals, LazyCompoundVals, or plain ConjuredSymbols -- none of which have associated regions. If the entire structure is going to persist, this is not a problem -- either the rvalue will be assigned to an existing region, or a MaterializeTemporaryExpr will be present to create a temporary region. However, if we just need a field from the struct, we need to create the temporary region ourselves. This is inspired by the way CodeGen handles calls to temporaries; support for that in the analyzer is coming next. Part of <rdar://problem/12137950> llvm-svn: 164828
* Avoid malloc thrashing in the uninitialized value analysis.Benjamin Kramer2012-09-281-11/+5
| | | | | | | - The size of the packed vector is often small, save mallocs using SmallBitVector. - Copying SmallBitVectors is also cheap, remove a level of indirection. llvm-svn: 164827
* PackedVector: Make the BitVector implementation configurable.Benjamin Kramer2012-09-281-13/+14
| | | | llvm-svn: 164826
* Fix a bug introduced in an earlier revision: actually return the StopReason, ↵Filipe Cabecinhas2012-09-281-1/+1
| | | | | | when we have a StopInfo object. llvm-svn: 164825
* Set Diag.ErrorOccurred even if a DiagnosticConsumer does not want it inDaniel Jasper2012-09-281-3/+2
| | | | | | | | | | | diagnostic count. If a DiagnosticConsumer sub-class overwrites IncludeInDiagnosticCounts, this should change diagnostic counts. However, it currently also influences Diag.ErrorOccurred, which in turn influences the behavior of parsing and semantic analysis (in a way that can make it crash). llvm-svn: 164824
* Provide malloc-free sentinels for the SparseBitVector internals.Benjamin Kramer2012-09-281-0/+16
| | | | llvm-svn: 164823
* Replace the use of strncpy() and sprintf() with std::string and LLVM streams.Dmitri Gribenko2012-09-281-4/+7
| | | | | | Patch by Martinez, Javier E. llvm-svn: 164822
* [ASan] Fix unit test headers. Add an option to change substitute ↵Alexey Samsonov2012-09-285-7/+13
| | | | | | asan_test_config.h file llvm-svn: 164821
* [ASan] use llvm-symbolizer (in offline mode) in ASan output tests on LinuxAlexey Samsonov2012-09-283-0/+13
| | | | llvm-svn: 164819
* CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. ↵Benjamin Kramer2012-09-282-0/+30
| | | | | | | | If the it's the condition of a SwitchInst, reload it. Fixes PR13972. llvm-svn: 164818
* Make backtraces work again with both the configure and cmake build.Benjamin Kramer2012-09-283-1/+9
| | | | llvm-svn: 164817
* [asan] Change defaults for Android target.Evgeniy Stepanov2012-09-281-2/+10
| | | | | | This way building without -DASAN_* in CFLAGS produces working binaries. llvm-svn: 164816
* GlobalOpt: non-constexpr bitcasts or GEPs can occur even if the global value ↵Benjamin Kramer2012-09-282-2/+27
| | | | | | | | is only stored once. Fixes PR13968. llvm-svn: 164815
* Surprisingly, we missed a trivial case here. Fix that!Nick Lewycky2012-09-282-0/+12
| | | | llvm-svn: 164814
* Remove a LLVM_DELETED_FUNCTION from destructor to fix -std=c++11 build on ↵Craig Topper2012-09-281-1/+3
| | | | | | gcc 4.7. llvm-svn: 164813
* Recognize the eax/ebp/eip etc version of x86 registerJason Molenda2012-09-281-2/+10
| | | | | | | names in addition to the rax/rbp/rip register names when deciding whether a register is volatile or not. llvm-svn: 164812
* 1. Add load/store words from the stackReed Kotler2012-09-283-34/+86
| | | | | | | | | 2. As part of this, added assembly format FEXT_RI16_SP_explicit_ins and moved other lines for FEXT_RI16 formats to be in the right place in the code. 3. Added mayLoad and mayStore assignements for the load/store instructions added and for ones already there that did not have this assignment. 4. Another patch will deal with the problem of load/store byte/halfword to the stack. This is a particular Mips16 problem. llvm-svn: 164811
* Fix the extra space char being emitted in this message when breakpoints ↵Jason Molenda2012-09-281-1/+1
| | | | | | | | resolve - 1 location added to breakpoint 2 llvm-svn: 164810
* Two changes: 1) I still didn't have the ABI correct to match the gcc-4.2 ↵Howard Hinnant2012-09-282-10/+48
| | | | | | std::string under the exception classes. I think the changes to stdexcept.cpp have got that down now. 2) On Apple platforms I'm seeing visibility bugs in applications with respect to type_info's being hidden. This is causing dynamic_cast to malfunction because there are multiple type_info's running around for one type within an application, making dynamic_cast believe that one type is actually multiple types. As a stop gap measure I'm trying to detect this error, print out an error message, but continue with the most likely desired result. This is all under __APPLE__. This behavior can be expanded to other platforms if desired. llvm-svn: 164809
* Improved the runtime reading to also get dataSean Callanan2012-09-273-37/+65
| | | | | | | out of the metaclass, so as to enumerate class methods for an object. llvm-svn: 164808
* Remove <def,read-undef> flags from partial redefinitions.Jakob Stoklund Olesen2012-09-271-0/+6
| | | | | | | | | The new coalescer can turn a full virtual register definition into a partial redef by merging another value into an unused vector lane. Make sure to clear the <read-undef> flag on such defs. llvm-svn: 164807
* Wrapped up the work I am going to do for now for the "add-dsym" or "target ↵Greg Clayton2012-09-2712-222/+550
| | | | | | | | | | | | | | | | | | | | symfile add" command. We can now do: Specify a path to a debug symbols file: (lldb) add-dsym <path-to-dsym> Go and download the dSYM file for the "libunc.dylib" module in your target: (lldb) add-dsym --shlib libunc.dylib Go and download the dSYM given a UUID: (lldb) add-dsym --uuid <UUID> Go and download the dSYM file for the current frame: (lldb) add-dsym --frame llvm-svn: 164806
* Fix more crlf issues.Micah Villmow2012-09-271-34/+34
| | | | llvm-svn: 164805
* Fix a regression from r164656.Eli Friedman2012-09-272-2/+16
| | | | llvm-svn: 164804
* [analyzer] Address Jordan's code review for r164790.Anna Zaks2012-09-272-20/+20
| | | | llvm-svn: 164803
* [analyzer] IvarInvalidation: track synthesized ivars and allow escapeAnna Zaks2012-09-272-31/+77
| | | | | | through property getters. llvm-svn: 164802
* Patch from Dan Malea to get the Bourne shells scripts to run cleanly on ↵Jason Molenda2012-09-274-40/+40
| | | | | | Ubuntu. llvm-svn: 164801
* instcombine: Add more test cases for __strncpy_chk simplificationMeador Inge2012-09-272-0/+87
| | | | llvm-svn: 164800
* instcombine: Add more test cases for __strcpy_chk simplificationMeador Inge2012-09-273-13/+109
| | | | llvm-svn: 164799
* instcombine: Add more test cases for __memmove_chk simplificationMeador Inge2012-09-272-0/+84
| | | | llvm-svn: 164798
* instcombine: Add more test cases for __memcpy_chk simplificationMeador Inge2012-09-272-0/+84
| | | | llvm-svn: 164797
* instcombine: Add more test cases for __memset_chk simplificationMeador Inge2012-09-273-18/+81
| | | | llvm-svn: 164796
* Enable the new coalescer algorithm by default.Jakob Stoklund Olesen2012-09-272-2/+1
| | | | | | | The new coalescer is better at merging values into unused vector lanes, improving NEON code. llvm-svn: 164794
* Don't dereference begin() on an empty vector.Jakob Stoklund Olesen2012-09-271-1/+1
| | | | | | | | The fix is obvious and the only test case I have is horrible, so I am not including it. The problem shows up when self-hosting clang on i386 with -new-coalescer enabled. llvm-svn: 164793
* Fixed some bugs in the runtime reader code. AlsoSean Callanan2012-09-272-7/+320
| | | | | | | added a parser for method signatures in the Objective-C @encode format. llvm-svn: 164792
* Unbreak cmake buildAnna Zaks2012-09-271-0/+1
| | | | | | (fixup for r164790) llvm-svn: 164791
* [analyzer] Add an experimental ObjC direct ivar assignment checker.Anna Zaks2012-09-273-0/+238
| | | | llvm-svn: 164790
* Make getDefaultSynthIvarName() a member of ObjCPropertyDecl.Anna Zaks2012-09-273-11/+15
| | | | llvm-svn: 164789
* [analyzer] Address Jordan's code review comments for r164716.Anna Zaks2012-09-273-21/+26
| | | | llvm-svn: 164788
* MIPS DSP: ABSQ_S.PH instruction sub-class.Akira Hatanaka2012-09-274-0/+377
| | | | llvm-svn: 164787
* MIPS DSP: SHLL.QB instruction sub-class.Akira Hatanaka2012-09-274-0/+403
| | | | llvm-svn: 164786
* Fix a integer overflow in SimplifyCFG's look up table formation logic.Benjamin Kramer2012-09-272-0/+42
| | | | | | | | If the width is very large it gets truncated from uint64_t to uint32_t when passed to TD->fitsInLegalInteger. The truncated value can fit in a register. This manifested in massive memory usage or crashes (PR13946). llvm-svn: 164784
* Fix CRLF issues.Micah Villmow2012-09-271-95/+95
| | | | llvm-svn: 164782
* Pass PrintingPolicy by reference, copying it isn't cheap.Benjamin Kramer2012-09-273-6/+10
| | | | llvm-svn: 164781
* Ashok Thirumurthi patch to enable the latest and greatest DWARF forms from ↵Greg Clayton2012-09-271-42/+70
| | | | | | the DWARF 4 specification. llvm-svn: 164779
OpenPOWER on IntegriCloud