summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add LLVMScalarOpts to LLVMPowerPCCodeGen.NAKAMURA Takumi2014-11-211-1/+1
| | | | llvm-svn: 222516
* MS ABI: Mangle char16_t and char32_t typesDavid Majnemer2014-11-212-2/+8
| | | | | | | These mangling make clang more compatible with MSVC 2015. Correctly mangling char16_t and char32_t will take a little more work. llvm-svn: 222515
* Handle extra whitespace in linux distribution name.Eric Fiselier2014-11-211-4/+5
| | | | llvm-svn: 222514
* Mark some locale tests as XFAIL on debian and opensuse.Eric Fiselier2014-11-213-0/+21
| | | | llvm-svn: 222513
* Fix missing diagnostic for unsupported TLS for some thread_local variables.Bob Wilson2014-11-212-16/+19
| | | | | | | | | Clang r181627 moved a check for block-scope variables into this code for handling thread storage class specifiers, but in the process, it broke the logic for checking if the target supports TLS. Fix this with some simple restructuring of the code. rdar://problem/18796883 llvm-svn: 222512
* fix Bug21211 : reworked ↵Shawn Best2014-11-212-17/+49
| | | | | | | | | | | | | | | | | | | | | test/api/multithreaded/test_listener_event_description.cpp to work properly on Linux/FreeBSD Issue D5632 fixed an issue where linux would dump spurious output to tty on startup (due to a broadcast stop event). After the checkin, it was noticed on FreeBSD a unit test was now failing. On closer investigation I found the test was using the C++ API to launch an inferior while using an SBListener to monitor the public state changes. As on OSx, it was expecting to see: eStateRunning eStateStopped On Linux/FreeBSD, there is an extra state change eStateLaunching eStateRunning eStateStopped I reworked the test to work for both cases and re-enabled the test of FreeBSD. Differential Revision: http://reviews.llvm.org/D5837 llvm-svn: 222511
* DAGCombiner: Allow the DAGCombiner to combine multiple FDIVs with the same ↵Hao Liu2014-11-215-0/+145
| | | | | | | | | | | | divisor info FMULs by the reciprocal. E.g., ( a / D; b / D ) -> ( recip = 1.0 / D; a * recip; b * recip) A hook is added to allow the target to control whether it needs to do such combine. Reviewed in http://reviews.llvm.org/D6334 llvm-svn: 222510
* Remove a bunch of unnecessary typecasts to 'const TargetRegisterClass *'Craig Topper2014-11-217-67/+38
| | | | llvm-svn: 222509
* Add extra new line and remove some trailing whitespace from tablegen ↵Craig Topper2014-11-211-5/+5
| | | | | | RegisterInfo output file. llvm-svn: 222508
* [modules] When explicitly importing a module, it's fine for the imported moduleRichard Smith2014-11-212-0/+27
| | | | | | | | to be newer than we were expecting. That happens if .pcm's get moved between file systems during a distributed build. (It's still not OK for them to actually be different, though, so we still check the size and signature matches.) llvm-svn: 222507
* PR21323: Fix iterator invalidation issue when looking for redeclarations of aRichard Smith2014-11-211-3/+8
| | | | | | | | | special member function. No test yet: the only testcases we have for this issue are extremely complex. Testcase will be added once I get a reasonable reduction. llvm-svn: 222506
* Fix a silly bug in StreamingMemoryObject.cpp.Rafael Espindola2014-11-213-4/+36
| | | | | | | The logic for detecting EOF was wrong and would fail if we ever requested more than 16k past the last read position. llvm-svn: 222505
* [PPC] Use SeparateConstOffsetFromGEPHal Finkel2014-11-212-0/+177
| | | | | | | | | | | | This mirrors r222331, which enabled SeparateConstOffsetFromGEP on AArch64, in the PowerPC backend. Yields, on a POWER7 machine, a 30% speedup on SingleSource/Benchmarks/Shootout/nestedloop (this might just be from LICM, there is a store moved out of the inner loop) and a potential speedup on MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode. Regardless, it makes some code look cleaner, and synchronizing the backends in this regard seems like a generally good thing. llvm-svn: 222504
* Extend -Wuninitialized to warn when accessing uninitialized base classes in aRichard Trieu2014-11-213-12/+83
| | | | | | constructor. llvm-svn: 222503
* Add accessor marcos to ConstantPlaceHolder, similar to those in the base class.Richard Trieu2014-11-211-1/+2
| | | | llvm-svn: 222502
* Rework parallel test process count logicEd Maste2014-11-211-7/+8
| | | | | | | | | | | | | | | | The default value for opt.thread_count was multiprocessing.cpu_count(), which meant the LLDB_TEST_THREADS environment variable was never used. It's not easy to pass the -t option to the test run when invoking it from e.g. 'ninja check-lldb', so having the environment variable as an option is useful. Change the logic so that the thread count is set by the first one of: 1. The -t option to test/dosep.py 2. The LLDB_TEST_THREADS environment variable 3. The machine's CPU count from multiprocessing.cpu_count() llvm-svn: 222501
* This Reassociate change unintentionally slipped in r222499David Majnemer2014-11-211-7/+0
| | | | llvm-svn: 222500
* SROA: The alloca type isn't a candidate promotion type for vectorsDavid Majnemer2014-11-213-3/+28
| | | | | | | | | | | | The alloca's type is irrelevant, only those types which are used in a load or store of the exact size of the slice should be considered. This manifested as an assertion failure when we compared the various types: we had a size mismatch. This fixes PR21480. llvm-svn: 222499
* Change CommandObjectTargetModulesLoad so that the filename argumentJason Molenda2014-11-211-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is treated as a string instead of a FileSpec. OptionValueFileSpec::SetValueFromCString() passes the c string to FileSpec::SetFile(str, true /* resolve */) - and with Zachary's changes to FileSpec we're using llvm::sys::fs::make_absolute() to do that "resolve" action now, where we used to use realpath(). One important difference between llvm::sys::fs::make_absolute and realpath is that when they're handed a filename (no directory), realpath prepends the current working directory *and if the file exists*, returns that full path. If that file doesn't exist, the caller uses the basename only. llvm::sys::fs::make_absolute prepends the current working directory regardless of whether it exists or not. I considered having FileSpec::SetFile save the initial pathname, call FileSpec::Resolve, and then check to see if the Resolve return path exists - and if not, go back to the original one. But instead I just went with changing 'target modules load' to treat its filename argument as a string instead of a FileSpec. This brings it in line with how 'target modules list' works. <rdar://problem/18955416> llvm-svn: 222498
* Clarify the description of the noalias attributeHal Finkel2014-11-211-13/+16
| | | | | | | | | | | | | | | | | | | | | | The previous description of the noalias attribute did not accurately specify the implemented semantics, and the terminology used differed unnecessarily from that used by the C specification to define the semantics of restrict. For the argument attribute, the semantics can be precisely specified in terms of objects accessed through pointers based on the arguments, and this is now what is done. Saying that the semantics are 'slightly weaker' than that provided by C99 restrict is not really useful without further elaboration, so that has been removed from the sentence. noalias on a return value is really used to mean that the function is malloc-like (and, in fact, we use this attribute to represent __attribute__((malloc)) in Clang), and this is a stronger guarantee than that provided by restrict (because it is a property of the pointed-to memory region, not just a guarantee on object access). Clarifying this is relevant to fixing (and was motivated by the discussion on) PR21556. llvm-svn: 222497
* Ensure llvm-sanitizer is found by the tests when using sanitizers.Eric Fiselier2014-11-211-6/+22
| | | | llvm-svn: 222496
* Rename lldb registers to contain lldb_ prefix.Zachary Turner2014-11-216-795/+796
| | | | | | | | | | | | | | | | | | | | LLDB supports many different register numbering schemes, and these are typically prefixed with an indicator that lets the user know what numbering scheme is used. The gcc numbering scheme is prefixed with gcc, and there are similar ones for dwarf, gdb, and gcc_dwarf. LLDB also contains its own internal numbering scheme, but the enum for LLDB's numbering scheme was prefixed differently. This patch changes the names of these enums to use the same naming scheme for the enum values as the rest of the register kinds by removing gpr_ and fpu_ prefixes, and instead using lldb_ prefixes for all enum values. Differential Revision: http://reviews.llvm.org/D6351 Reviewed by: Greg Clayton llvm-svn: 222495
* [MCJIT] Remove JITEventListener::NotifyFreeingMachineCode. This method is deadLang Hames2014-11-213-32/+0
| | | | | | now that the old JIT has been removed. llvm-svn: 222494
* [libcxxabi] Cleanup memory in tests to placate ASAN.Eric Fiselier2014-11-213-12/+15
| | | | | | | | | | | | | | Summary: ASAN fires on these tests because they don't clean up their memory. Reviewers: danalbert, jroelofs, mclow.lists Reviewed By: jroelofs Subscribers: dblaikie, cfe-commits Differential Revision: http://reviews.llvm.org/D6281 llvm-svn: 222493
* Add more REQUIRES: LOCALE.* to tests.Dan Albert2014-11-2112-0/+24
| | | | llvm-svn: 222492
* Add curly braces to workaround an MSVC bug.Zachary Turner2014-11-211-1/+3
| | | | | | MSVC can't parse this pattern for range-based for loops. llvm-svn: 222491
* relax this testcase to not depend on a specific alignment.Adrian Prantl2014-11-211-1/+1
| | | | llvm-svn: 222490
* [X86] Do not custom lower UINT_TO_FP when the target type does notQuentin Colombet2014-11-212-0/+16
| | | | | | | | match the custom lowering. <rdar://problem/19026326> llvm-svn: 222489
* Verifier: Check that all instructions have their parent pointers set upAdrian Prantl2014-11-211-0/+4
| | | | | | | correctly. This helps with catching problems caused by IRBuilder abuse such as the one fixed in CFE r222487. llvm-svn: 222488
* Debug info for blocks: Fix a bug caught by the Verifier.Adrian Prantl2014-11-214-5/+37
| | | | | | | | | | | | When emitting nested block definitions, the insert-at-point variant of DIBuilder::insertDeclare() could be called with the insertion point set to the end-of-BasicBlock sentinel, causing the parent pointer of the CallInst to be set to the intentionally bogus value of the sentinel. Fixed by conditionally invoking the correct version of insertDeclare(). rdar://problem/19034882 llvm-svn: 222487
* Move ASan non-Linux-specific tests out of the Linux/ directoryKuba Brecka2014-11-2111-0/+0
| | | | | | Reviewed at http://reviews.llvm.org/D6244 llvm-svn: 222486
* DebugInfo: Fix another case of r222377 when we do have a definition of the ↵David Blaikie2014-11-212-11/+24
| | | | | | variable, but we might not be emitting it (such as templates) llvm-svn: 222485
* Add a test for the driver's "-k" option.Jim Ingham2014-11-211-1/+3
| | | | llvm-svn: 222484
* [PECOFF] Enable dead-stripping even if /debug option is given.Rui Ueyama2014-11-202-3/+4
| | | | | | | | | | | | | | | | | | /debug makes MSVC link.exe to not remove unused sections from the resulting executable. We did the same thing before. However, I realized that the removal of associative section depends on the dead-stripping pass in LLD, so we cannot disable that. Or LLD may produce slightly broken executables that have too much data in it (which could result in nasty subtle bugs). This patch is a temporary measure to create correct executable. Currently /debug does not have any real effect for LLD anyway. I'll improve associative section handling in another patch, so that they are removed from output without depending on the dead-stripping pass. llvm-svn: 222483
* Remove code that tries to avoid transforming non-dependent call operator typesRichard Smith2014-11-202-78/+29
| | | | | | | | | | for lambda expressions. That can't ever work; we need to transform the parameters in order to create new ones in the new call operator context. Fixes a rejects-valid when transforming a context containing a lambda-expression that uses its function parameters in C++14 mode. llvm-svn: 222482
* Fix more instances of -Wsentinel on Windows with s/NULL/nullptr/Reid Kleckner2014-11-204-5/+5
| | | | | | Follow up to r221940, where I must not have caught em all. NFC llvm-svn: 222481
* Add out of line virtual destructors to all LLVMTargetMachine subclassesReid Kleckner2014-11-2022-3/+37
| | | | | | | | | | | | | | | | | These recently all grew a unique_ptr<TargetLoweringObjectFile> member in r221878. When anyone calls a virtual method of a class, clang-cl requires all virtual methods to be semantically valid. This includes the implicit virtual destructor, which triggers instantiation of the unique_ptr destructor, which fails because the type being deleted is incomplete. This is just part of the ongoing saga of PR20337, which is affecting Blink as well. Because the MSVC ABI doesn't have key functions, we end up referencing the vtable and implicit destructor on any virtual call through a class. We don't actually end up emitting the dtor, so it'd be good if we could avoid this unneeded type completion work. llvm-svn: 222480
* Make the option parsing of -k & -K match the help strings.Jim Ingham2014-11-201-2/+2
| | | | llvm-svn: 222479
* Remove duplicated enum, use the authoritative one.Zachary Turner2014-11-201-275/+2
| | | | | | | | | Running a diff against lldb-x86-register-enums.h and the file modified in this patch, the two enums were completely identical. Deleting one of them to reduce code noise. llvm-svn: 222478
* Move test from r222476 to a better place; this was reduced to the point that itRichard Smith2014-11-202-7/+7
| | | | | | no longer contained a generic lambda. llvm-svn: 222477
* Fix crash-on-valid if a lambda-expression appears lexically directly within aRichard Smith2014-11-202-1/+11
| | | | | | local class inside a template. llvm-svn: 222476
* Update Makefile following directory removal in r222466Mehdi Amini2014-11-201-1/+1
| | | | llvm-svn: 222475
* [ProcessWindows] Implement a RegisterContextWindows for x86.Zachary Turner2014-11-206-11/+460
| | | | | | | | | | | | | | | This implements the skeleton of a RegisterContext for Windows. In particular, this implements support only for x86 general purpose registers. After this patch, LLDB on Windows can perform basic debugging operations in a single-threaded inferior process (breakpoint, register inspection, frame select, unwinding, etc). Differential Revision: http://reviews.llvm.org/D6322 Reviewed by: Greg Clayton llvm-svn: 222474
* Intercept __crt_va_* used by MSVC "14"Reid Kleckner2014-11-201-0/+16
| | | | | | | Moving further into the implementor's namespace is good, but now we have one more name to intercept. llvm-svn: 222473
* SimplifyCFG: Refactor GatherConstantCompares() result in a structMehdi Amini2014-11-201-133/+152
| | | | | | | | | | Code seems cleaner and easier to understand this way This is basically r222416, after fixes for MSVC lack of standard support, and a few cleaning (got rid of a warning). Thanks Nakamura Takumi and Nico Weber for the MSVC fixes. llvm-svn: 222472
* PR21565: Further refine the conditions for enabling eager parsing ofRichard Smith2014-11-203-19/+61
| | | | | | | | std::X::swap exception specifications (allowing parsing of non-conforming code in libstdc++). The old conditions also matched the functions in MSVC's STL, which were relying on deferred parsing here. llvm-svn: 222471
* [Mips] Simplify the code calculates HI16/LO16 relocationsSimon Atanasyan2014-11-201-15/+3
| | | | | | No functional changes. llvm-svn: 222470
* [Mips] Remove duplicated relocation calculation routinesSimon Atanasyan2014-11-201-20/+8
| | | | | | No functional changes. llvm-svn: 222469
* [Mips] Remove unused function argumentSimon Atanasyan2014-11-201-2/+2
| | | | | | No functional changes. llvm-svn: 222468
* [Mips] Use endian::read/write function to load/save MIPS32 instructionsSimon Atanasyan2014-11-201-39/+41
| | | | | | No functional changes. llvm-svn: 222467
OpenPOWER on IntegriCloud