summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ASan] Do not build asan_fake_stack_test.cc on OSX until ↵Alexander Potapenko2013-09-121-0/+10
| | | | | | https://code.google.com/p/address-sanitizer/issues/detail?id=222 is fixed. llvm-svn: 190597
* [asan] limit the size of the fake stack with a reasonable constant. This ↵Kostya Serebryany2013-09-121-2/+6
| | | | | | fixes a failure when the main thread's stack is considered unlimited (very large). llvm-svn: 190596
* AVX-512: implemented extractelement with variable index.Elena Demikhovsky2013-09-129-3067/+3203
| | | | | | Added parsing of mask register and "zeroing" semantic, like {%k1} {z}. llvm-svn: 190595
* [asan] (part 2) don't lazy-init fake_stack if we only need to check that ↵Kostya Serebryany2013-09-121-1/+1
| | | | | | fake_stack exists (should fix 32-bit builds) llvm-svn: 190594
* [asan] don't lazy-init fake_stack if we only need to check that fake_stack ↵Kostya Serebryany2013-09-122-2/+6
| | | | | | exists (should fix 32-bit builds) llvm-svn: 190593
* [asan] hopefully make the FakeStack async-signal safe, enable the related testKostya Serebryany2013-09-126-11/+61
| | | | llvm-svn: 190592
* Fixup for r190409: add dep on LZMA only if CMake is cross-compilingAlexey Samsonov2013-09-121-1/+1
| | | | llvm-svn: 190591
* [asan] Fix deadlock in stack unwinder on android/x86.Evgeniy Stepanov2013-09-123-16/+36
| | | | | | | Fixes PR17116. Patch by 林作健 (manjian2006 at gmail.com). llvm-svn: 190590
* [asan] use xchg instead of CAS in FakeStack::Allocate (5% faster for this case)Kostya Serebryany2013-09-121-3/+2
| | | | llvm-svn: 190589
* [asan] fully re-implement the FakeStack (use-after-return) to make it faster ↵Kostya Serebryany2013-09-126-230/+339
| | | | | | and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass. llvm-svn: 190588
* PPC: Enable aggressive anti-dependency breakingHal Finkel2013-09-125-25/+18
| | | | | | | | | | | | | | | | | | | | Aggressive anti-dependency breaking is enabled by default for all PPC cores. This provides a general speedup on the P7 and other platforms (among other factors, the instruction group formation for the non-embedded PPC cores is done during post-RA scheduling). In order to do this safely, the incompatibility between uses of the MFOCRF instruction and anti-dependency breaking are resolved by marking MFOCRF with hasExtraSrcRegAllocReq. As noted in the removed FIXME, the problem was that MFOCRF's output is sensitive to the identify of the source register, and always paired with a shift to undo this effect. Because anti-dependency breaking is unaware of this hidden dependency of the shift amount on the source register of the MFOCRF instruction, changing that register must be inhibited. Two test cases were adjusted: The SjLj test was made more insensitive to register choices and scheduling; the saveCR test disabled anti-dependency breaking because part of what it is testing is proper register reuse. llvm-svn: 190587
* Remove hard-coded leading underscore from entry symbol.Rui Ueyama2013-09-129-16/+21
| | | | llvm-svn: 190586
* Do not hard code the leading underscore.Rui Ueyama2013-09-122-11/+26
| | | | | | | | Mangling scheme varies on platform, and prepending an underscore is valid only on 32-bit x86. Added a method to mangle name to PECOFFLinkingContext and use it to avoid hard coding mangled names. llvm-svn: 190585
* Fix crash in AggressiveAntiDepBreaker with empty CriticalPathSetHal Finkel2013-09-121-1/+1
| | | | | | | | | | | | If no register classes are added to CriticalPathRCs, then the CriticalPathSet bitmask will be empty. In that case, ExcludeRegs must remain NULL or else this line will cause a segfault: } else if ((ExcludeRegs != NULL) && ExcludeRegs->test(AntiDepReg)) { I have no in-tree test case. llvm-svn: 190584
* LWG Issue 2210 (Part #6): unordered_map and unordered_multimapMarshall Clow2013-09-127-0/+531
| | | | llvm-svn: 190576
* R600/SI: expose TBUFFER_STORE_FORMAT_* for OpenGL transform feedbackTom Stellard2013-09-128-5/+157
| | | | | | | | | | | | | For _XYZ, the type of VDATA is v4i32, because v3i32 doesn't exist. The ADDR64 bit is not exposed. A simpler intrinsic that doesn't take a resource descriptor might be nicer. The maximum number of input SGPRs is bumped to 17. Signed-off-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 190575
* R600: Don't use trans slot for instructions that read LDS source registersTom Stellard2013-09-125-1/+34
| | | | | | | | | | | | | | | | This fixes some regressions in the piglit local memory store tests introduced by recent commits which made the scheduler aware of the trans slot. It's not possible to test this using lit, because there is no way to determine from the assembly dumps whether or not an instruction is in the trans slot. Even if this were possible, the test would be highly sensitive to changes in the scheduler and might generate confusing false negatives. Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 190574
* Updated CMakeLists to match XCode projectRichard Mitton2013-09-121-0/+1
| | | | llvm-svn: 190573
* Added a 'jump' command, similar to GDBs.Richard Mitton2013-09-1219-9/+579
| | | | | | | | | This allows the PC to be directly changed to a different line. It's similar to the example python script in examples/python/jump.py, except implemented as a builtin. Also this version will track the current function correctly even if the target line resolves to multiple addresses. (e.g. debugging a templated function) llvm-svn: 190572
* Implement uses-allocator constructionMarshall Clow2013-09-122-62/+92
| | | | llvm-svn: 190571
* The output of 'log list' was missing a few of the lldb channels:Jason Molenda2013-09-121-14/+19
| | | | | | | | communication, connection, host, module, mmap, os. Add those. Also sort the entries so they come in alphabetical order, to make it a little easier to scan down the list for a specific channel. llvm-svn: 190570
* Typo fixes.Rui Ueyama2013-09-121-2/+2
| | | | llvm-svn: 190569
* [libclang] In clang_getLocation, check that the provided line/column is valid.Argyrios Kyrtzidis2013-09-121-0/+2
| | | | | | rdar://14971432 llvm-svn: 190568
* Move variable under condition where it is usedMatt Arsenault2013-09-121-1/+2
| | | | llvm-svn: 190567
* Fix comment to match what the assert actually enforcesMatt Arsenault2013-09-121-2/+2
| | | | llvm-svn: 190566
* Remove pointless assertion after r190376Matt Arsenault2013-09-121-2/+0
| | | | llvm-svn: 190565
* <rdar://problem/14071463>Enrico Granata2013-09-129-62/+446
| | | | | | | | SVN r189964 provided a sample Python script to inspect unordered(multi){set|map} with synthetic children, contribued by Jared Grubb This checkin converts that sample script to a C++ provider built into LLDB A test case is also provided llvm-svn: 190564
* A collection of minor type-o fixes. The first two aren't testable, but all ↵Howard Hinnant2013-09-123-3/+3
| | | | | | tests pass with them. I stumbled across them while experimenting with a std::move that checks its argument for non-const. The third corrects a test that is currently failing. llvm-svn: 190563
* Greatly simplify the PPC A2 scheduling itineraryHal Finkel2013-09-113-726/+118
| | | | | | | | | | | As Andy pointed out to me a long time ago, there are no structural hazards in the later pipeline stages of the A2, and so modeling them is useless. Also, modeling the top pre-dispatch stages is deceiving because, when multiple hardware threads are active, those resources are shared among the threads. The bypass definitions were mostly wrong, and so those have been removed. The resulting itinerary is much simpler, and more accurate. llvm-svn: 190562
* Fix the end-location of a CXXTemporaryObjectExpr when it is created with a ↵Argyrios Kyrtzidis2013-09-112-1/+48
| | | | | | | | initializer_list. rdar://14887351 llvm-svn: 190561
* [CMake] Fix repository version checking dependencies harder.Jordan Rose2013-09-111-1/+1
| | | | | | Just always regenerate SVNVersion.inc. Don't worry about it not changing. llvm-svn: 190560
* clang/test/FixIt/fixit-unicode-with-utf8-output.c: Remove XFAIL.NAKAMURA Takumi2013-09-111-1/+0
| | | | | | | | It'd be another issue that the terminal and stdout(including redirects) with utf8. This test XPASSed on Win32, at least on Lit. FYI, we don't use a triplet like "-win64" anywhere. llvm-svn: 190559
* Enable MI scheduling (and CodeGen AA) by default for embedded PPC coresHal Finkel2013-09-113-2/+52
| | | | | | | For embedded PPC cores (especially the A2 core), using the MI scheduler with AA is far superior to the other scheduling options. llvm-svn: 190558
* [CMake] Always include the Clang repo version, just like the autoconf build.Jordan Rose2013-09-111-30/+20
| | | | | | | | | | | | | Now that LLVM's helper script GetSVN.cmake actually works consistently, there's no reason not to use it. This does mean that the clangBasic target is potentially always dirty, because CMake-generated projects do not necessarily recalculate dependencies after running each target. This should end the issues of the AST format changing and breaking old module files; CMake-Clang should now detect that the version changed just like Autoconf-Clang has. llvm-svn: 190557
* [CMake] Update GetSVN.cmake to use LLVM version control helper scripts.Jordan Rose2013-09-111-17/+34
| | | | | | | | | This allows the logic to work with Git, and also uses the variable names to match what Clang is actually looking for. This changes the interface of GetSVN.cmake. Clang change to follow. llvm-svn: 190556
* ObjectiveC migration. NS_RETURNS_NOT_RETAINED is the default forFariborz Jahanian2013-09-112-25/+19
| | | | | | | unknown methods which return Cocoa objects. No need to annotate such methods. llvm-svn: 190555
* Run clang-format.Rui Ueyama2013-09-111-602/+488
| | | | llvm-svn: 190554
* Fix anachronism/typo in syntax of declaration of llvm.va_start.Nick Lewycky2013-09-111-1/+1
| | | | llvm-svn: 190552
* Use the appropriate return type for the compact unwind encoding.Bill Wendling2013-09-112-3/+3
| | | | llvm-svn: 190551
* When target module add/SBTarget::AddModule()'ing, if an architecture isn't ↵Jason Molenda2013-09-112-0/+4
| | | | | | | | | specifically requested, use the Target's architecture to pick the correct slice of a universal file. <rdar://problem/14813869> llvm-svn: 190550
* Implement TTI getUnrollingPreferences for PowerPCHal Finkel2013-09-113-0/+61
| | | | | | | | The PowerPC A2 core greatly benefits from aggressive concatenation unrolling; use the new getUnrollingPreferences to enable this by default when targeting the PPC A2 core. llvm-svn: 190549
* Change a printf() formatter to use %d for a uint32_t.Jason Molenda2013-09-111-1/+1
| | | | llvm-svn: 190548
* Move into an anonymous namespace and closer to where it's used.Bill Wendling2013-09-111-26/+27
| | | | llvm-svn: 190547
* clang-format: Fix bug in pointer detectionDaniel Jasper2013-09-112-1/+2
| | | | | | | | | Before: for (int i = 0; i* 2 < z; i *= 2) {} After: for (int i = 0; i * 2 < z; i *= 2) {} llvm-svn: 190546
* Tablegen now generates a StringSwitch for attributes containing enumeration ↵Aaron Ballman2013-09-118-89/+66
| | | | | | arguments to map strings to the proper enumeration value. This makes error checking more consistent and reduces the amount of hand-written code required. llvm-svn: 190545
* Debug info: add more comments.Manman Ren2013-09-111-2/+14
| | | | llvm-svn: 190544
* Fix typoBill Wendling2013-09-111-1/+1
| | | | llvm-svn: 190543
* Add getUnrollingPreferences to TTIHal Finkel2013-09-114-7/+66
| | | | | | | | | Allow targets to customize the default behavior of the generic loop unrolling transformation. This will be used by the PowerPC backend when targeting the A2 core (which is in-order with a deep pipeline), and using more aggressive defaults is important. llvm-svn: 190542
* Try to fix the atom buildbots by adding an explicit 'cpu' to the 'llc' command.Bill Wendling2013-09-112-5/+5
| | | | llvm-svn: 190541
* Debug Info: move class definition of DIRef.Manman Ren2013-09-112-52/+48
| | | | | | | | | | | Definition of DIRef used to require the full definition of DIType because of usage of DIType::isType in DIRef::resolve. We now use DIDescriptor::isType instead to remove the requirement and move definition of DIRef before DIType. With this, we can move the definition of DIType::getContext to the header file. llvm-svn: 190540
OpenPOWER on IntegriCloud