summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert r238425, it undoes the purpose of the testEd Maste2015-05-281-7/+3
| | | | | | llvm.org/pr23686 llvm-svn: 238437
* [ARM] Be less specific about the error message expected.Ranjeet Singh2015-05-281-3/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D10087 llvm-svn: 238436
* [ARMTargetParser] FIXME MachO arch names. NFCRenato Golin2015-05-281-21/+26
| | | | llvm-svn: 238435
* DebugInfo: .debug_line DWARF64 supportEd Maste2015-05-284-14/+46
| | | | | | | | | | | This adds support for the 64-bit DWARF format, but is still limited to less than 4GB of debug data by the DataExtractor class. Some versions of the GNU MIPS toolchain generate 64-Bit DWARF even though it isn't actually necessary. Differential Revision: http://reviews.llvm.org/D1988 llvm-svn: 238434
* Fix THUMB function detection when function name is not prefixed.Aidan Dodds2015-05-281-11/+18
| | | | | | Differential Revision: http://reviews.llvm.org/D10062 llvm-svn: 238433
* Don't create an unused _GLOBAL_OFFSET_TABLE_.Rafael Espindola2015-05-283-81/+6
| | | | | | | | This was a bug for bug compatibility with gas that is completely unnecessary. If a _GLOBAL_OFFSET_TABLE_ symbol is used, it will already be created by the time we get to the ELF writer. llvm-svn: 238432
* Fix write register context in EmulateInstructionARM::EmulateMOVRdRmTamas Berghammer2015-05-281-1/+4
| | | | llvm-svn: 238431
* [ARMTargetParser] FIXME on getLLVMArchSuffixForARM. NFCRenato Golin2015-05-281-33/+7
| | | | llvm-svn: 238430
* [ARMTargetParser] Adding sub-arch information for Clang. NFCRenato Golin2015-05-282-34/+45
| | | | llvm-svn: 238429
* Use /usr/bin/env to find pythonEd Maste2015-05-282-2/+2
| | | | | | | | | | Python may not be /usr/bin/python on some systems. For example, on FreeBSD it will be /usr/local/bin/python. Reviewers: samsonov Differential Revision: http://reviews.llvm.org/D9914 llvm-svn: 238428
* [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.Daniel Sanders2015-05-282-10/+29
| | | | | | | | | | | | | | | | | | Summary: Following on from r209907 which made personality encodings indirect, do the same for TType encodings. This fixes the case where a try/catch block needs to generate references to, for example, std::exception in the .gcc_except_table. Reviewers: petarj Reviewed By: petarj Subscribers: srhines, joerg, tberghammer, llvm-commits Differential Revision: http://reviews.llvm.org/D9669 llvm-svn: 238427
* [ASan] Disable alloca tests on ARM targets due to flakiness.Yury Gribov2015-05-284-8/+4
| | | | llvm-svn: 238426
* Fix TestCommandScript: return an error if target executable is not setEd Maste2015-05-281-3/+7
| | | | | | | | | | The test invokes the 'targetname' test command before setting a target executable, which caused Python to raise TypeError: cannot concatenate 'str' and 'NoneType' objects. llvm.org/pr23686 llvm-svn: 238425
* [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6Petar Jovanovic2015-05-2832-33/+469
| | | | | | | | | | Add support for resolving MIPS64r2 and MIPS64r6 relocations in MCJIT. Patch by Vladimir Radosavljevic. Differential Revision: http://reviews.llvm.org/D9667 llvm-svn: 238424
* Fix race in IOHandlerProcessSTDIOPavel Labath2015-05-281-74/+55
| | | | | | | | | | | | | | | | | | Summary: IOHandlerProcessSTDIO::Run() was opening the pipe for interrupt requests lazily. This was racing with another thread executing IOHandlerProcessSTDIO::Cancel() simultaneously. I fix this by opening the pipe in the object constructor. The pipe will be automatically closed when the object is destroyed. Test Plan: Tests pass on linux. Reviewers: clayborg, ribrdb Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10060 llvm-svn: 238423
* Update isl to 93b8e43dTobias Grosser2015-05-2899-3534/+2419
| | | | | | | This update brings mostly interface cleanups, but also fixes two bugs in imath (a memory leak, some undefined behavior). llvm-svn: 238422
* Cleanup the forked child in TestChangeProcessGroupPavel Labath2015-05-281-0/+8
| | | | | | | if the test fails for some reason, we can end up leaking a process. This has a tendency to confuse the buildbots. I have added a cleanup hook to make sure we cleanup the child. llvm-svn: 238421
* Add thumb breakpoint for FreeBSD (currently disabled)Ed Maste2015-05-281-3/+24
| | | | | | | | | | | Patch by Tom Rix, with additional changes to sync whitespace/style with PlatformLinux.cpp. It is currently disabled pending kernel support. Differential Revision: http://reviews.llvm.org/D9170 llvm-svn: 238420
* Silencing two signed/unsigned mismatch warnings; NFC.Aaron Ballman2015-05-281-2/+4
| | | | llvm-svn: 238419
* [AsmPrinter] Destroy allocated DIEAbbrevs on teardown.Benjamin Kramer2015-05-281-1/+4
| | | | | | | | | | DIEAbbrev contains a SmallVector that can leak for overly large abbrevs. They used to be owned by the DIE, but after the recent refactoring DWARFFile allocates its own abbrevs. Leak found by asan. llvm-svn: 238418
* Don't check breakpoint location count in TestChangeProcessGroupPavel Labath2015-05-281-1/+1
| | | | | | apparently, we get two locations for the breakpoint on android. llvm-svn: 238417
* [ARMTargetParser] Removing string parsing from getCPUDefineSuffix. NFC.Renato Golin2015-05-281-30/+26
| | | | | | Yet another FIXME from ARMTargetParser. llvm-svn: 238416
* [ARMTargetParser] Adding a few more CPUs for Clang CPU detection. NFC.Renato Golin2015-05-282-16/+24
| | | | llvm-svn: 238415
* [MC] Replace custom string join function with the one from StringExtras.Benjamin Kramer2015-05-281-22/+2
| | | | | | NFC. llvm-svn: 238414
* Fix PPC failure. Adjust CHECK pattern.Diego Novillo2015-05-281-2/+2
| | | | llvm-svn: 238413
* Don't call utostr in Twine/raw_ostream contexts.Benjamin Kramer2015-05-285-27/+18
| | | | | | Creating temporary std::strings there is unnecessary. llvm-svn: 238412
* Fix breakpoint setting in gdb remote test cases on armTamas Berghammer2015-05-282-4/+10
| | | | llvm-svn: 238411
* Fix write register context in EmulateInstructionARM::EmulateADDRdSPImmTamas Berghammer2015-05-281-2/+5
| | | | llvm-svn: 238410
* [ASan] XFAIL VLA tests on ARM and PowerPC. Patch by Max Ostapenko!Yury Gribov2015-05-284-0/+9
| | | | llvm-svn: 238409
* Move prctl call in TestChangeProcessGroup to the childPavel Labath2015-05-281-13/+13
| | | | | | I was hoping the enable-tracing flag will be inherited from the parent. It is not. llvm-svn: 238408
* [ASan] Add new interceptors to asan_win_dll_thunk.cc to fix build errors on ↵Yury Gribov2015-05-281-0/+4
| | | | | | | | Windows. Patch by Maria Guseva! llvm-svn: 238407
* [sanitizer] More string interceptors: strstr, strcasestr, strspn, strcspn, ↵Yury Gribov2015-05-2824-11/+503
| | | | | | | | | | strpbrk. Patch by Maria Guseva. Differential Revision: http://reviews.llvm.org/D9017 llvm-svn: 238406
* [NativeProcessLinux] Support inferiors which change their process groupPavel Labath2015-05-284-7/+207
| | | | | | | | | | | | | | | | | | | | Summary: Previously, we wait()ed for events from the inferiors process group. This is resulted in a failure if the inferior changed its process group in the middle of execution. To avoid this, I pass -1 to the wait() call. The flag __WNOTHREAD makes sure we don't actually wait for events from any process, but only the processes(threads) which are our children (or traced by us). Since this happens on the monitor thread, which is dedicated to monitoring a single inferior, we will be getting events only from this inferior. Test Plan: All tests pass on linux. I have added a test to check the new functionality. Reviewers: chaoren, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10061 llvm-svn: 238405
* Fix comments in ARMTargetParser. NFC.Renato Golin2015-05-281-2/+2
| | | | llvm-svn: 238404
* [ASan] Fix previous commit. Patch by Max Ostapenko!Yury Gribov2015-05-281-4/+4
| | | | llvm-svn: 238403
* [ASan] New approach to dynamic allocas unpoisoning. Patch by Max Ostapenko!Yury Gribov2015-05-283-192/+78
| | | | | | Differential Revision: http://reviews.llvm.org/D7098 llvm-svn: 238402
* [ASan] New approach to dynamic allocas unpoisoning. Patch by Max Ostapenko!Yury Gribov2015-05-288-0/+172
| | | | | | Differential Revision: http://reviews.llvm.org/D7098 llvm-svn: 238401
* clang-format: Lower binding strengths created by the [] created by ObjCDaniel Jasper2015-05-283-16/+27
| | | | | | | | | | | | | | | | | | method expressions and array literals. They should not bind stronger than regular parentheses or the braces of braced lists. Specific test case in JavaScript: Before: var aaaaa: List< SomeThing> = [new SomeThingAAAAAAAAAAAA(), new SomeThingBBBBBBBBB()]; After: var aaaaa: List<SomeThing> = [ new SomeThingAAAAAAAAAAAA(), new SomeThingBBBBBBBBB() ]; llvm-svn: 238400
* [TableGen] Use DefInit::getAsString instead of getDef()->getName(). NFCCraig Topper2015-05-281-1/+1
| | | | llvm-svn: 238399
* [TableGen] Don't convert types to strings to query what they are. Just use 'isa'Craig Topper2015-05-281-2/+2
| | | | llvm-svn: 238398
* [Reassociate] Canonicalizing 'x [+-] (-Constant * y)' isn't always a winDavid Majnemer2015-05-283-49/+33
| | | | | | | | | | | | | Canonicalizing 'x [+-] (-Constant * y)' is not a win if we don't *know* we will open up CSE opportunities. If the multiply was 'nsw', then negating 'y' requires us to clear the 'nsw' flag. If this is actually worth pursuing, it is probably more appropriate to do so in GVN or EarlyCSE. This fixes PR23675. llvm-svn: 238397
* [NaryReassociate] Run EarlyCSE after NaryReassociateJingyue Wu2015-05-283-10/+48
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch made two improvements to NaryReassociate and the NVPTX pipeline 1. Run EarlyCSE/GVN after NaryReassociate to get rid of redundant common expressions. 2. When adding an instruction to SeenExprs, maps both the SCEV before and after reassociation to that instruction. Test Plan: updated @reassociate_gep_nsw in nary-gep.ll Reviewers: meheff, broune Reviewed By: broune Subscribers: dberlin, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D9947 llvm-svn: 238396
* Add quick bit of doc about SBFrame::GetCFA().Jason Molenda2015-05-281-0/+6
| | | | llvm-svn: 238395
* [Basic] Define __declspec for cygwinDavid Majnemer2015-05-282-5/+19
| | | | | | | | Cygwin (and MinGW) targets define __declspec to __attribute__ unless -fms-extensions is specified. It turns out that cygwin headers rely on the existence of this macro. llvm-svn: 238394
* Added a new API to SBFrame:Greg Clayton2015-05-285-18/+130
| | | | | | | | | | lldb::addr_t SBFrame::GetCFA(); This gets the CFA (call frame address) of the frame so it allows us to take an address that is on the stack and figure out which thread it comes from. Also modified the heap.py module to be able to find out which variable in a frame's stack frame contains an address. This way when ptr_refs finds a match on the stack, it get then report which variable contains the pointer. llvm-svn: 238393
* I finally found the strong reference that was keeping all ↵Greg Clayton2015-05-281-0/+7
| | | | | | | | | | | | lldb_private::Process instances from ever destroying themselves: ProcessModID.m_mod_id was holding onto the last stop event with ProcessModID::SetStopEventForLastNaturalStopID(EventSP). This is a bad idea because ProcessEventData contains a strong refereence to the process. This is now fixed by calling ProcessModID::SetStopEventForLastNaturalStopID(EventSP()) to clear this event in Process::SetExitStatus() and in Process::Finalize(). This was the original cause of the file descriptor leaks that would cause the test suite to die after running a few hundred processes since no process would ever get destroyed and the communication channel in ProcessGDBRemote and the ProcessIOHandler would never close their pipes. This process leak was previously worked around by closing the pipes when the communication channel was disconnected. This was found by using "ptr_refs" from the heap.py in the lldb.macosx.heap module. It was able to find all strong references to the Process and helped me to figure out who was holding this extra reference. llvm-svn: 238392
* [x86] Refactor the tests for popcnt.Chandler Carruth2015-05-283-159/+2902
| | | | | | | | | Extracted from the D6531 patch by Bruno Cardoso Lopes, and re-generated to reflect the current state of the world. This should let Bruno's D6531 actually show the delta between the approaches by running the x86 test case update script after re-building. llvm-svn: 238391
* [omp] Actually provide a default OpenMP runtime -- libgomp for now.Chandler Carruth2015-05-282-2/+2
| | | | llvm-svn: 238390
* [omp] Re-work Clang's handling of -fopenmp and undo r237769.Chandler Carruth2015-05-286-58/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't an actual revert of r237769, it just restores the behavior of the Clang driver prior to it while completely re-implementing how that behavior works. This also re-does the work of making the default OpenMP runtime selectable at CMake (or configure) time to work in the way all of our other such hooks do (config.h, configure and cmake hooks, etc.). I've re-implemented how we manage the '-fopenmp' flagset in an important way. Now, the "default" hook just makes '-fopenmp' equivalent to '-fopenmp=<default>' rather than a separate special beast. Also, there is an '-fno-openmp' flag which does the obvious thing. Also, the code is shared between all the places to select a known OpenMP runtime and act on it. Finally, and most significantly, I've taught the driver to inspect the selected runtime when choosing whether to propagate the '-fopenmp' flag to the frontend in the CC1 commandline. Without this, it isn't possible to use Clang with libgomp, even if you were happy with the serial, boring way in which it worked previously (ignoring all #pragmas but linking in the library to satisfy direct calls into the runtime). While I'm here, I've gone ahead and sketched out a path for the future name of LLVM's OpenMP runtime (libomp) and the legacy support for its current name (libiomp5) in what seems a more reasonable way. To re-enable LLVM's OpenMP runtime (which I think should wait until the normal getting started instructions are a reasonable way for falks to check out, build, and install Clang with the runtime) all that needs to change is the default string in the CMakeLists.txt and configure.ac file. No code changes necessary. I also added a test for the driver's behavior around OpenMP since it was *completely missing* previously. Makes it unsurprising that we got it wrong. llvm-svn: 238389
* [omp] Add a configuration variable for the default OpenMP runtime.Chandler Carruth2015-05-283-0/+26
| | | | | | This will be used in my next commit to Clang. llvm-svn: 238388
OpenPOWER on IntegriCloud