summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Null initialize a few variables flagged byTed Kremenek2011-01-237-7/+7
| | | | | | | | | | clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124073
* Null initialize a few variables flagged byTed Kremenek2011-01-233-6/+5
| | | | | | | | | | clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124072
* Add support for lowercase variants.Rafael Espindola2011-01-232-1/+15
| | | | llvm-svn: 124071
* Enhance SRoA to be more aggressive about scalarization of aggregate allocasChris Lattner2011-01-232-12/+192
| | | | | | | | | | | | that have PHI or select uses of their element pointers. This can often happen when instcombine sinks two loads into a successor, inserting a phi or select. With this patch, we can scalarize the alloca, but the pinned elements are not yet promoted. This is still a win for large aggregates where only one element is used. This fixes rdar://8904039 and part of rdar://7339113 (poor codegen on stringswitch). llvm-svn: 124070
* Let's teach SWIG to rename the overloaded SBTarget::Launch() function which hasJohnny Chen2011-01-231-0/+12
| | | | | | | | provision for specifying a working directory with the name LaunchWithCWD in our target language (Python) for now. This fixes the test suite failures due to the overloading. llvm-svn: 124069
* Convert two std::vectors to SmallVectors for a 3.4% speedup running -scalarreplCameron Zwarich2011-01-231-2/+2
| | | | | | on test-suite + SPEC2000 & SPEC2006. llvm-svn: 124068
* have AllocaInfo store the alloca being inspected, simplifying callers.Chris Lattner2011-01-231-22/+24
| | | | | | No functionality change. llvm-svn: 124067
* Rearrange some code a bit. Change MarkUnsafe to Chris Lattner2011-01-231-27/+29
| | | | | | | | handle the "Transformation preventing inst" printing, so that -scalarrepl -debug will always print the rejected instruction. No functionality change. llvm-svn: 124066
* Convert a std::vector to a SmallVector for another 5.4% speedup on domtree.Cameron Zwarich2011-01-231-2/+2
| | | | llvm-svn: 124065
* remove an old hack that avoided creating MMX datatypes. TheChris Lattner2011-01-232-26/+3
| | | | | | X86 backend has been fixed. llvm-svn: 124064
* Restored some missing APIs for the test suite. Now testsuite still has some ↵Greg Clayton2011-01-235-16/+53
| | | | | | | | | | failures due to overloaded SBTarget::Launch() calls. Bumping Xcode project versions: lldb-42 and debugserver-127. llvm-svn: 124063
* Use value ranges to fold ext(trunc) in SCEV when possible.Nick Lewycky2011-01-232-0/+68
| | | | llvm-svn: 124062
* In the simpler version of the link-eval data structure that we use in dominatorCameron Zwarich2011-01-232-38/+23
| | | | | | | | | | | | | computation, the Ancestor field is always set to the Parent, so we can remove the explicit link entirely and merge the Parent and Ancestor fields. Instead of checking for whether an ancestor exists for a node or not, we simply check whether the node has already been processed. This is simpler if Compress is inlined into Eval, so I did that as well. This is about a 3% speedup running -domtree on test-suite + SPEC2000 & SPEC2006, but it also opens up some opportunities for further improvement. llvm-svn: 124061
* Added a new variant of SBTarget::Launch() that deprectates the old one thatGreg Clayton2011-01-2319-114/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | takes separate file handles for stdin, stdout, and stder and also allows for the working directory to be specified. Added support to "process launch" to a new option: --working-dir=PATH. We can now set the working directory. If this is not set, it defaults to that of the process that has LLDB loaded. Added the working directory to the host LaunchInNewTerminal function to allows the current working directory to be set in processes that are spawned in their own terminal. Also hooked this up to the lldb_private::Process and all mac plug-ins. The linux plug-in had its API changed, but nothing is making use of it yet. Modfied "debugserver" and "darwin-debug" to also handle the current working directory options and modified the code in LLDB that spawns these tools to pass the info along. Fixed ProcessGDBRemote to properly pass along all file handles for stdin, stdout and stderr. After clearing the default values for the stdin/out/err file handles for process to be NULL, we had a crasher in UserSettingsController::UpdateStringVariable which is now fixed. Also fixed the setting of boolean values to be able to be set as "true", "yes", "on", "1" for true (case insensitive) and "false", "no", "off", or "0" for false. Fixed debugserver to properly handle files for STDIN, STDOUT and STDERR that are not already opened. Previous to this fix debugserver would only correctly open and dupe file handles for the slave side of a pseudo terminal. It now correctly handles getting STDIN for the inferior from a file, and spitting STDOUT and STDERR out to files. Also made sure the file handles were correctly opened with the NOCTTY flag for terminals. llvm-svn: 124060
* Delay the creation of eh_frame so that the user can change the defaults.Rafael Espindola2011-01-238-26/+51
| | | | | | Add support for SHT_X86_64_UNWIND. llvm-svn: 124059
* Remove useless struct fields.Cameron Zwarich2011-01-232-10/+2
| | | | llvm-svn: 124058
* Remove friend declaration for removed function.Cameron Zwarich2011-01-231-5/+0
| | | | llvm-svn: 124057
* Remove more duplicated code.Rafael Espindola2011-01-2312-165/+158
| | | | llvm-svn: 124056
* Convert a std::vector to a SmallVector.Cameron Zwarich2011-01-231-1/+1
| | | | llvm-svn: 124055
* Remove duplicated code.Rafael Espindola2011-01-2312-152/+90
| | | | llvm-svn: 124054
* Simplify some code now that we've removed the more optimal (but slower) versionCameron Zwarich2011-01-231-8/+2
| | | | | | of the link-eval data structure from dominator computation. llvm-svn: 124053
* Teach the Lit configuration to actually use the cxx0x setting whenChandler Carruth2011-01-231-2/+7
| | | | | | | constructing compile flags, and to link against the 'rt' library on Linux for clock_gettime and friends. llvm-svn: 124052
* Watch out for NULL types in NameSearchContext::AddTypeDecl or we crash.Greg Clayton2011-01-231-20/+20
| | | | llvm-svn: 124051
* Fixed a crasher that would happen when we run into malformed DWARF. It isGreg Clayton2011-01-231-1/+12
| | | | | | nice to know about the issue, but we shouldn't crash. llvm-svn: 124050
* Fixed an issue in "SBError SBProcess::Destroy ()" where it wasn't properlyGreg Clayton2011-01-2215-129/+366
| | | | | | | | | | | | | | | | | | | | checking the validity of the shared pointer prior to using it. Fixed the GDB remote plug-in to once again watch for a reply from the "k" packet, and fixed the logic to make sure the thread requesting the kill and the async thread play nice (and very quickly) by synchronizing the packet sending and reply. I also tweaked some of the shut down packet ("k" kill, "D" detach, and the halt packet) to make sure they do the right thing. Fixed "StateType Process::WaitForProcessStopPrivate (...)" to correctly pass the timeout along to WaitForStateChangedEventsPrivate() and made the function behave correctly with respect to timing out. Added separate STDIN, STDOUT, and STDERR support to debugserver. Also added the start of being able to set the working directory for the inferior process. llvm-svn: 124049
* Accept the C++0x override control keywords as an extension in C++98. This is ↵Anders Carlsson2011-01-223-7/+17
| | | | | | OK since the new syntax is unambiguous and can't be confused with C++98 syntax. If anyone disagrees, please shout! llvm-svn: 124048
* Implement [class.derived]p8.Anders Carlsson2011-01-222-0/+42
| | | | llvm-svn: 124047
* Have SCEV turn sext(x) into zext(x) when x is s>= 0. This applies many times inNick Lewycky2011-01-221-0/+4
| | | | | | "make check" alone. llvm-svn: 124046
* Add a FIXME explaining the move to a single indirect call bonus per functionEric Christopher2011-01-221-0/+5
| | | | | | that we can change from indirect to direct. llvm-svn: 124045
* Only apply the devirtualization bonus once instead of per-call site in theEric Christopher2011-01-221-2/+6
| | | | | | | | target function. Fixes part of rdar://8546196 llvm-svn: 124044
* Serialize and deserialize IsMarkedFinal/IsMarkedExplicit.Anders Carlsson2011-01-222-0/+5
| | | | llvm-svn: 124041
* Mark classes final and/or explicit during class template instantiation.Anders Carlsson2011-01-222-0/+23
| | | | llvm-svn: 124040
* Mark classes as final or explicit. Diagnose when a class marked 'final' is ↵Anders Carlsson2011-01-226-5/+33
| | | | | | used as a base. llvm-svn: 124039
* Avoid the race condition Stephen Wilson was worried about in revision 123465 ↵Greg Clayton2011-01-221-5/+8
| | | | | | by making a local copy. We need to be able to have the private state thread let the lldb_private::Process class that it has exited, otherwise we end up with a timeout when the process destructor or DoDestroy is called where the private state thread has already exited and then StopPrivateStateThread() will wait for the thread which has already existed to respond to it. llvm-svn: 124038
* Add final/explicit getters and setters to CXXRecordDecl.Anders Carlsson2011-01-222-1/+20
| | | | llvm-svn: 124037
* Parse class-virt-specifier-seqs.Anders Carlsson2011-01-226-23/+95
| | | | llvm-svn: 124036
* More work on ClassVirtSpecifiers.Anders Carlsson2011-01-223-5/+37
| | | | llvm-svn: 124035
* Add test from PR9026.Rafael Espindola2011-01-221-1/+19
| | | | llvm-svn: 124034
* revert r123977 and r123978 to fix PR9026.Rafael Espindola2011-01-224-96/+78
| | | | llvm-svn: 124033
* Start stubbing out a ClassVirtSpecifiers class.Anders Carlsson2011-01-222-10/+34
| | | | llvm-svn: 124032
* A member function template cannot be virtual.Anders Carlsson2011-01-223-1/+16
| | | | llvm-svn: 124031
* Pass sret arguments through the stack instead of through registers in Sparc ↵Venkatraman Govindaraju2011-01-224-4/+111
| | | | | | backend. It makes the code generated more compliant with the sparc32 ABI. llvm-svn: 124030
* Use a FunctionType::get overload that doesn't require an empty vector.Benjamin Kramer2011-01-221-5/+2
| | | | llvm-svn: 124029
* Remove dead ivar.Benjamin Kramer2011-01-221-4/+0
| | | | llvm-svn: 124028
* Added ICC, FCC as uses of movcc instruction to generate correct code when ↵Venkatraman Govindaraju2011-01-222-64/+102
| | | | | | -mattr=v9 is used. llvm-svn: 124027
* ARM uses '.' in their tokens. Give it a name instead of a numeric value.Bill Wendling2011-01-221-0/+1
| | | | llvm-svn: 124026
* Improve our parse recovery on 'case blah;' and 'default;'.John McCall2011-01-222-6/+32
| | | | llvm-svn: 124025
* Sped up the shutdown time on MacOSX by quite a bit by making sure anyGreg Clayton2011-01-227-61/+60
| | | | | | | | | | | | | | | | | threads that we spawn let us know when they are going away and that we don't timeout waiting for a message from threads that have gone away. We also now don't expect the "k" packet (kill) to send a response. This greatly speeds up debugger shutdown performance. The test suite now runs quite a bit faster. Added a fix to the variable display code that fixes the display of base classes. We were assuming the virtual or normal base class offsets were being given in bit sizes, but they were being given as character sizes, so we needed to multiply the offset by 8. This wasn't affecting the expression parser, but it was affecting the correct display of C++ class base classes and all of their children. llvm-svn: 124024
* Send code generation for xvalues down the same path as lvaluesDouglas Gregor2011-01-222-2/+2
| | | | llvm-svn: 124023
* Debug info generation for rvalue referencesDouglas Gregor2011-01-222-6/+10
| | | | llvm-svn: 124020
OpenPOWER on IntegriCloud