summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* when verbose asm is on, print integers in ConstantDataSequentials justChris Lattner2012-01-301-0/+3
| | | | | | like normal integers. llvm-svn: 149223
* don't lose tail padding on ConstantDataAggregate vec3's.Chris Lattner2012-01-301-21/+24
| | | | llvm-svn: 149222
* Fix ConstantFoldShuffleVectorInstruction to properly handle the caseChris Lattner2012-01-301-3/+5
| | | | | | when the result type has a different # elements than the input vectors. llvm-svn: 149221
* CMake: Promote the testing targets out of folders on IDE.NAKAMURA Takumi2012-01-302-3/+0
| | | | llvm-svn: 149220
* CMake: Add the folder "Tablegenning" on llvm-tblgen targets.NAKAMURA Takumi2012-01-301-0/+1
| | | | llvm-svn: 149219
* Removed the "lldb-forward-rtti.h" header file as it was designed to containGreg Clayton2012-01-3014-341/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all RTTI types, and since we don't use RTTI anymore since clang and llvm don't we don't really need this header file. All shared pointer definitions have been moved into "lldb-forward.h". Defined std::tr1::weak_ptr definitions for all of the types that inherit from enable_shared_from_this() in "lldb-forward.h" in preparation for thread hardening our public API. The first in the thread hardening check-ins. First we start with SBThread. We have issues in our lldb::SB API right now where if you have one object that is being used by two threads we have a race condition. Consider the following code: 1 int 2 SBThread::SomeFunction() 3 { 4 int result = -1; 5 if (m_opaque_sp) 6 { 7 result = m_opaque_sp->DoSomething(); 8 } 9 return result; 10 } And now this happens: Thread 1 enters any SBThread function and checks its m_opaque_sp and is about to execute the code on line 7 but hasn't yet Thread 2 gets to run and class sb_thread.Clear() which calls m_opaque_sp.clear() and clears the contents of the shared pointer member Thread 1 now crashes when it resumes. The solution is to use std::tr1::weak_ptr. Now the SBThread class contains a lldb::ThreadWP (weak pointer to our lldb_private::Thread class) and this function would look like: 1 int 2 SBThread::SomeFunction() 3 { 4 int result = -1; 5 ThreadSP thread_sp(m_opaque_wp.lock()); 6 if (thread_sp) 7 { 8 result = m_opaque_sp->DoSomething(); 9 } 10 return result; 11 } Now we have a solid thread safe API where we get a local copy of our thread shared pointer from our weak_ptr and then we are guaranteed it can't go away during our function. So lldb::SBThread has been thread hardened, more checkins to follow shortly. llvm-svn: 149218
* initialize the Next field to nullChris Lattner2012-01-301-1/+1
| | | | llvm-svn: 149217
* Move some XOP patterns into instruction definition. Replae VPCMOV intrinsic ↵Craig Topper2012-01-304-452/+252
| | | | | | patterns with custom lowering to a target specific nodes. llvm-svn: 149216
* Add bitcode reader and writer support for ConstantDataAggregate, whichChris Lattner2012-01-304-3/+112
| | | | | | should be feature complete now. Lets see if it works. llvm-svn: 149215
* Just disable the compiler-builtins module test on MSVC for nowDouglas Gregor2012-01-292-3/+4
| | | | llvm-svn: 149214
* Teach tgmath.h to only include <complex.h> if it's available.Douglas Gregor2012-01-292-3/+5
| | | | llvm-svn: 149213
* Try to get useful diagnostics out of the failing MSVC buildersDouglas Gregor2012-01-291-2/+2
| | | | llvm-svn: 149212
* Cleanup the organization of some methods in llvm::Triple and provideChandler Carruth2012-01-291-15/+19
| | | | | | a better doxyment group for convenience predicates. llvm-svn: 149211
* Alternate fix to the modules failures that doesn't require us to tweak tgmath.hDouglas Gregor2012-01-292-3/+1
| | | | llvm-svn: 149210
* If there's no math.h, then tgmath.h should just be emptyDouglas Gregor2012-01-292-3/+4
| | | | llvm-svn: 149209
* Temporary disable the -verify on this test in the hope of getting some ↵Douglas Gregor2012-01-291-2/+3
| | | | | | useful output from the buildbots llvm-svn: 149208
* Switching back to using std::tr1::shared_ptr. We originally switched awayGreg Clayton2012-01-2994-416/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | due to RTTI worries since llvm and clang don't use RTTI, but I was able to switch back with no issues as far as I can tell. Once the RTTI issue wasn't an issue, we were looking for a way to properly track weak pointers to objects to solve some of the threading issues we have been running into which naturally led us back to std::tr1::weak_ptr. We also wanted the ability to make a shared pointer from just a pointer, which is also easily solved using the std::tr1::enable_shared_from_this class. The main reason for this move back is so we can start properly having weak references to objects. Currently a lldb_private::Thread class has a refrence to its parent lldb_private::Process. This doesn't work well when we now hand out a SBThread object that contains a shared pointer to a lldb_private::Thread as this SBThread can be held onto by external clients and if they end up using one of these objects we can easily crash. So the next task is to start adopting std::tr1::weak_ptr where ever it makes sense which we can do with lldb_private::Debugger, lldb_private::Target, lldb_private::Process, lldb_private::Thread, lldb_private::StackFrame, and many more objects now that they are no longer using intrusive ref counted pointer objects (you can't do std::tr1::weak_ptr functionality with intrusive pointers). llvm-svn: 149207
* Introduce a module map for (some of) the compiler-suppliedDouglas Gregor2012-01-294-2/+64
| | | | | | | | headers. The remaining headers require more sophisticated requirements; they'll be handled separately. Part of <rdar://problem/10710060>. llvm-svn: 149206
* revert r149184Fariborz Jahanian2012-01-294-109/+64
| | | | llvm-svn: 149205
* Switch over to LLVM's file-level locking facilityDouglas Gregor2012-01-291-265/+5
| | | | llvm-svn: 149204
* Move Clang's file-level locking facility over to LLVM's supportDouglas Gregor2012-01-293-0/+291
| | | | | | library, since it doesn't really have anything to do with Clang. llvm-svn: 149203
* Update line numbers. SighDouglas Gregor2012-01-291-1/+1
| | | | llvm-svn: 149202
* Also require a proper shellDouglas Gregor2012-01-291-0/+1
| | | | llvm-svn: 149201
* Ensure that we clean up after a failed module build and cope with theDouglas Gregor2012-01-295-1/+32
| | | | | | results in libclang. llvm-svn: 149200
* Implement code completion support for module import declarations, e.g.,Douglas Gregor2012-01-2915-3/+157
| | | | | | | | | | | | @import <complete with module names here> or @import std.<complete with submodule names here> Addresses <rdar://problem/10710117>. llvm-svn: 149199
* Rework HeaderSearch's interface for getting a module from a name andDouglas Gregor2012-01-295-127/+126
| | | | | | | | | for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and separating out the mapping to a module file (into getModuleFileName()). No functionality change. llvm-svn: 149197
* Test module lookup within a subdirectory of a normal include directory.Douglas Gregor2012-01-293-3/+10
| | | | llvm-svn: 149196
* Cleanups for EABI standard functionsAnton Korobeynikov2012-01-291-2/+7
| | | | llvm-svn: 149195
* Use base AAPCS for varargs functions even for AAPCS-VFP CCAnton Korobeynikov2012-01-291-1/+3
| | | | llvm-svn: 149194
* When emitting an ARC epilogue that looks like a return of 'self',John McCall2012-01-292-0/+67
| | | | | | | | kill the retain from the return site. This has the workaround nature. It's badness all around. llvm-svn: 149193
* Removed an incorrectly added property from SBTarget.iGreg Clayton2012-01-291-3/+0
| | | | llvm-svn: 149192
* Added the ability to get the target triple, byte order and address byte sizeGreg Clayton2012-01-2922-0/+546
| | | | | | | from the SBTarget and SBModule interfaces. Also added many python properties for easier access to many things from many SB objects. llvm-svn: 149191
* Get a little bit smarter about killing off the ReturnValue allocaJohn McCall2012-01-293-48/+62
| | | | | | | in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC. llvm-svn: 149190
* Fix some scavenger performance issues.Jakob Stoklund Olesen2012-01-292-24/+13
| | | | | | | | | | | | | - Don't call malloc+free in the very hot forward(). - Don't call isTiedToDefOperand(). - Don't create BitVector temporaries. - Merge DeadRegs into KillRegs. - Eliminate the early clobber checks, they were irrelevant to scavenging. - Remove unnecessary code from -Asserts builds. This speeds up ARM PEI by 3.4x and overall llc -O0 codegen time by 11%. llvm-svn: 149189
* Avoid creating BitVector temporaries.Jakob Stoklund Olesen2012-01-291-7/+7
| | | | llvm-svn: 149188
* Add a BitVector::reset(BitVector&) method.Jakob Stoklund Olesen2012-01-291-0/+10
| | | | | | | The alternative LHS &= ~RHS is way too slow because it creates a temporary that calls malloc/free. llvm-svn: 149187
* Complain about attempts to use 'protected' visibility on targetsJohn McCall2012-01-297-5/+44
| | | | | | | | like Darwin that don't support it. We should also complain about invalid -fvisibility=protected, but that information doesn't seem to exist at the most appropriate time, so I've left a FIXME behind. llvm-svn: 149186
* Fix typo.Nick Lewycky2012-01-281-2/+2
| | | | llvm-svn: 149185
* objc-arc: Perform null check on receiver before sending methods whichFariborz Jahanian2012-01-284-64/+109
| | | | | | | | consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474 llvm-svn: 149184
* Make the __builtin_c[lt]zs builtins target independent.Benjamin Kramer2012-01-285-47/+37
| | | | | | | | | There is really no reason to have these only available on x86. It's just __builtin_c[tl]z for shorts. Modernize the test while at it. llvm-svn: 149183
* Add a note about a potential optimization for clz/ctz patterns for ARMBob Wilson2012-01-281-0/+16
| | | | | | (and other targets). llvm-svn: 149182
* Use defined-at-zero behavior for CLZ/CTZ builtins on PowerPC.Bob Wilson2012-01-281-0/+2
| | | | llvm-svn: 149181
* Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM ↵James Molloy2012-01-284-2/+14
| | | | | | | | and MIPS ELF backends. Fixes PR11877 llvm-svn: 149180
* Silence GCC's -Wreturn-type warning.Benjamin Kramer2012-01-281-0/+3
| | | | llvm-svn: 149179
* StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers ↵Benjamin Kramer2012-01-2815-22/+59
| | | | | | that don't care about the language don't have to pull in all the headers. llvm-svn: 149178
* Added tests for template keyword presence.Abramo Bagnara2012-01-281-0/+119
| | | | llvm-svn: 149177
* Small improvement to the recursion detection logic from the previous commit.Rafael Espindola2012-01-282-1/+7
| | | | llvm-svn: 149175
* Handle recursive variable definitions directly. This gives us better errorRafael Espindola2012-01-283-12/+28
| | | | | | messages and allows us to fix PR11865. llvm-svn: 149174
* DiagnosticsEngine::setMappingToAllDiagnostics() does not need to return bool,Argyrios Kyrtzidis2012-01-282-4/+2
| | | | | | caught by Chad. llvm-svn: 149173
* [asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA TakumiKostya Serebryany2012-01-281-1/+1
| | | | llvm-svn: 149172
OpenPOWER on IntegriCloud