summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add NetBSDSignals.cpp to the xcode project file.Jason Molenda2015-12-151-4/+12
| | | | llvm-svn: 255597
* [llvm-readobj] s/FunctionName/LinkageName/ for codeview dumpingReid Kleckner2015-12-152-25/+25
| | | | | | | The symbol being printed in this field comes from the main symbol table, not 0xF1 subsection. Use LinkageName to make that a lot clearer. llvm-svn: 255596
* Let operator/ with uint32_t rhs operand be a member of BranchProbability and ↵Cong Hou2015-12-151-6/+13
| | | | | | add a new operator /=. NFC. llvm-svn: 255595
* [asan] try to fix ARM botsKostya Serebryany2015-12-151-0/+2
| | | | llvm-svn: 255594
* Add a C++11 ThreadPool implementation in LLVMMehdi Amini2015-12-156-0/+356
| | | | | | | | | | | | | | | | | | | | | | | | | This is a very simple implementation of a thread pool using C++11 thread. It accepts any std::function<void()> for asynchronous execution. Individual task can be synchronize using the returned future, or the client can block on the full queue completion. In case LLVM is configured with Threading disabled, it falls back to sequential execution using std::async with launch:deferred. This is intended to support parallelism for ThinLTO processing in linker plugin, but is generic enough for any other uses. This is a recommit of r255444 ; trying to workaround a bug in the MSVC 2013 standard library. I think I was hit by: http://connect.microsoft.com/VisualStudio/feedbackdetail/view/791185/std-packaged-task-t-where-t-is-void-or-a-reference-class-are-not-movable Recommit of r255589, trying to please g++ as well. Differential Revision: http://reviews.llvm.org/D15464 From: mehdi_amini <mehdi_amini@91177308-0d34-0410-b5e6-96231b3b80d8> llvm-svn: 255593
* Welcome to NetBSD signalsKamil Rytarowski2015-12-154-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Signals 1-32 are matching the default UNIX platform. There are platform specific ones above 32. From the `/usr/include/sys/signal.h` header: ``` #define SIGPWR 32 /* power fail/restart (not reset when caught) */ #ifdef _KERNEL #define SIGRTMIN 33 /* Kernel only; not exposed to userland yet */ #define SIGRTMAX 63 /* Kernel only; not exposed to userland yet */ #endif ``` Reviewers: emaste, joerg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15482 llvm-svn: 255592
* Revert "Add a C++11 ThreadPool implementation in LLVM"Mehdi Amini2015-12-156-354/+0
| | | | | | | This reverts commit r255589. Breaks g++ From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255591
* When constructing an address range to "step" or "next" through,Jason Molenda2015-12-157-8/+128
| | | | | | | | | | | | | | find the largest address range (possibly combining multiple LineEntry's for this line number) that is contiguous. This allows lldb's fast-step stepping algorithm to potentially run for a longer address range than if we have to stop at every LineEntry indicating a subexpression in the source line. http://reviews.llvm.org/D15407 <rdar://problem/23270882> llvm-svn: 255590
* Add a C++11 ThreadPool implementation in LLVMMehdi Amini2015-12-156-0/+354
| | | | | | | | | | | | | | | | | | | | | | | This is a very simple implementation of a thread pool using C++11 thread. It accepts any std::function<void()> for asynchronous execution. Individual task can be synchronize using the returned future, or the client can block on the full queue completion. In case LLVM is configured with Threading disabled, it falls back to sequential execution using std::async with launch:deferred. This is intended to support parallelism for ThinLTO processing in linker plugin, but is generic enough for any other uses. This is a recommit of r255444 ; trying to workaround a bug in the MSVC 2013 standard library. I think I was hit by: http://connect.microsoft.com/VisualStudio/feedbackdetail/view/791185/std-packaged-task-t-where-t-is-void-or-a-reference-class-are-not-movable Differential Revision: http://reviews.llvm.org/D15464 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255589
* [asan] add option: handle_sigillKostya Serebryany2015-12-155-0/+32
| | | | llvm-svn: 255588
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-1517-65/+65
| | | | llvm-svn: 255587
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-1515-96/+96
| | | | llvm-svn: 255586
* Fix various GCC mis-configurations for newer versions.Eric Fiselier2015-12-154-9/+16
| | | | | | | | | | | | This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. llvm-svn: 255585
* Make few adjustments after r255542.Siva Chandra2015-12-151-3/+3
| | | | | | | | | | Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15511 llvm-svn: 255584
* [X86] Add relaxtion logic for SBB instructions.Quentin Colombet2015-12-152-0/+24
| | | | | | | | | Prior to this patch, we would wrongly stick to the variant with imm8 encoding even when the relocation could not fit that size. rdar://problem/23785506 llvm-svn: 255583
* sancov: coverage can be reported by multiple functions.Mike Aizatsky2015-12-141-10/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D15430 llvm-svn: 255582
* test infra: catch and print exception info on test runner socket listenerTodd Fiala2015-12-141-5/+21
| | | | | | | | | | | | | | This is the listener's spawned connection, not the listener itself. (i.e. this is the test runner's receiving side of test event sockets). A standard socket.error will just issue an INFO statement and continue. Something other than a socket.error will get an ERROR: printed (and also continue). Hopefully this gets us more info and also handles the completely to-be-expected scenario that the test inferior might go down at any point. llvm-svn: 255581
* Fix typos; NFCMichael Kruse2015-12-142-3/+3
| | | | llvm-svn: 255580
* Yet another missing include.Rafael Espindola2015-12-141-0/+1
| | | | llvm-svn: 255579
* A better attempt to add a missing includeRafael Espindola2015-12-142-1/+1
| | | | llvm-svn: 255578
* Trying to fix the build in a bot.Rafael Espindola2015-12-141-0/+1
| | | | llvm-svn: 255577
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-1417-65/+65
| | | | | | | | | | (test case update) Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255576
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-1415-97/+95
| | | | | | | | | Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255575
* LoopRotate: Convert the methods of LoopRotate to utility functions. NFCJustin Bogner2015-12-141-79/+82
| | | | | | | | | | This moves the actual work to do loop rotation into standalone functions with the analysis results they need passed in as arguments, leaving the class itself as a relatively simple shim. This will make the functions easy to reuse when we're ready to port this transformation to the new pass manager. llvm-svn: 255574
* LoopRotate: Reorder some method implementations. NFCJustin Bogner2015-12-141-159/+159
| | | | | | | | | | This just moves some callers after their callees. My next patch will convert some of these methods to stand alone functions, and that diff is more obviously NFC if I move these first. That change, in turn, will make it much easier to port this pass to the new pass manager once the loop pass manager is in place. llvm-svn: 255573
* Update for llvm api change.Rafael Espindola2015-12-141-33/+27
| | | | llvm-svn: 255572
* Use diagnostic handler in the LLVMContextRafael Espindola2015-12-1418-192/+158
| | | | | | | | | | | | | | | | This patch converts code that has access to a LLVMContext to not take a diagnostic handler. This has a few advantages * It is easier to use a consistent diagnostic handler in a single program. * Less clutter since we are not passing a handler around. It does make it a bit awkward to implement some C APIs that return a diagnostic string. I will propose new versions of these APIs and deprecate the current ones. llvm-svn: 255571
* [X86] Add relaxtion logic for ADC instructions.Quentin Colombet2015-12-142-0/+24
| | | | | | | | | Prior to this patch, we would wrongly stick to the variant with imm8 encoding even when the relocation could not fit that size. rdar://problem/23785506 llvm-svn: 255570
* Factor out some duplication. NFC.Pete Cooper2015-12-141-44/+20
| | | | llvm-svn: 255569
* [Test] Addresses failing test when path to make contains spacesKate Stone2015-12-141-2/+2
| | | | llvm-svn: 255568
* Remove the multiplier loop.Zachary Turner2015-12-141-7/+27
| | | | | | | | This is leading to some kind of subtle issue related to local functions and closures, so let's just go back to the old way for now. llvm-svn: 255567
* [msan] Intercept ctermid, ctermid_r.Evgeniy Stepanov2015-12-143-0/+47
| | | | llvm-svn: 255566
* [WebAssembly] Add type prefixes to call instructionsDan Gohman2015-12-147-28/+28
| | | | | | | | | Add return type information to call and call_indirect instructions. This allows them to be disambiguated without knowledge of the callee. Differential Revision: http://reviews.llvm.org/D15484 llvm-svn: 255565
* [WebAssembly] Implement a new algorithm for placing BLOCK markersDan Gohman2015-12-142-78/+766
| | | | | | | | | Implement a new BLOCK scope placement algorithm which better handles early-return blocks and early exists from nested scopes. Differential Revision: http://reviews.llvm.org/D15368 llvm-svn: 255564
* [WebAssembly] Avoid adding redundant EXPR_STACK uses.Dan Gohman2015-12-141-3/+4
| | | | llvm-svn: 255563
* Revert "Don't create unnecessary PHIs"Reid Kleckner2015-12-143-205/+4
| | | | | | | | | This reverts commit r255489. It causes test failures in Chromium and does not appear to respect the AlternativeV parameter. llvm-svn: 255562
* Update paths in libc++ build instructions. Patch from Jonathan Anderson.Eric Fiselier2015-12-141-2/+2
| | | | llvm-svn: 255561
* Update how libc++/libc++abi link the tests. Follow up on r255559.Eric Fiselier2015-12-141-3/+4
| | | | llvm-svn: 255560
* [libc++abi] Use libgcc and libgcc_s to provide _Unwind symbols instead of ↵Eric Fiselier2015-12-142-4/+6
| | | | | | | | | | | | | | | | | | libgcc_eh.a Summary: libgcc_eh.a cannot be used when building libc++abi as a shared library (the default configuration). See this post for some more discussion: https://gcc.gnu.org/ml/gcc/2012-03/msg00104.html This patch reverts back to using libgcc_s when linking libc++abi.so. Reviewers: danalbert, chandlerc, mclow.lists, ismail, compnerd Subscribers: vkalintiris, cfe-commits Differential Revision: http://reviews.llvm.org/D15440 llvm-svn: 255559
* [X86] Part 2 to fix x86-64 fp128 calling convention.Chih-Hung Hsieh2015-12-1416-25/+1052
| | | | | | | | | | | | | | | | | | | | | | Part 1 was submitted in http://reviews.llvm.org/D15134. Changes in this part: * X86RegisterInfo.td, X86RecognizableInstr.cpp: Add FR128 register class. * X86CallingConv.td: Pass f128 values in XMM registers or on stack. * X86InstrCompiler.td, X86InstrInfo.td, X86InstrSSE.td: Add instruction selection patterns for f128. * X86ISelLowering.cpp: When target has MMX registers, configure MVT::f128 in FR128RegClass, with TypeSoftenFloat action, and custom actions for some opcodes. Add missed cases of MVT::f128 in places that handle f32, f64, or vector types. Add TODO comment to support f128 type in inline assembly code. * SelectionDAGBuilder.cpp: Fix infinite loop when f128 type can have VT == TLI.getTypeToTransformTo(Ctx, VT). * Add unit tests for x86-64 fp128 type. Differential Revision: http://reviews.llvm.org/D11438 llvm-svn: 255558
* Revert "Temporarily skip TestWithLimitDebugInfo on Darwin and OS X"Todd Fiala2015-12-141-2/+0
| | | | | | This reverts commit 30ed0826a1bb800454088ea1ae16c113a69b92b1. llvm-svn: 255557
* [Sema] Make nullness warnings appear in C++.George Burgess IV2015-12-145-13/+61
| | | | | | | | | | | | | | | | | | | Given the following code: int *_Nullable ptr; int *_Nonnull nn = ptr; ...In C, clang will warn you about `nn = ptr`, because you're assigning a nonnull pointer to a nullable pointer. In C++, clang issues no such warning. This patch helps ensure that clang doesn't ever miss an opportunity to complain about C++ code. N.B. Though this patch has a differential revision link, the actual review took place over email. Differential Revision: http://reviews.llvm.org/D14938 llvm-svn: 255556
* add fast-math-flags to 'call' instructions (PR21290)Sanjay Patel2015-12-1414-45/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds optional fast-math-flags (the same that apply to fmul/fadd/fsub/fdiv/frem/fcmp) to call instructions in IR. Follow-up patches would use these flags in LibCallSimplifier, add support to clang, and extend FMF to the DAG for calls. Motivating example: %y = fmul fast float %x, %x %z = tail call float @sqrtf(float %y) We'd like to be able to optimize sqrt(x*x) into fabs(x). We do this today using a function-wide attribute for unsafe-math, but we really want to trigger on the instructions themselves: %z = tail call fast float @sqrtf(float %y) because in an LTO build it's possible that calls with fast semantics have been inlined into a function with non-fast semantics. The code changes and tests are based on the recent commits that added "notail": http://reviews.llvm.org/rL252368 and added FMF to fcmp: http://reviews.llvm.org/rL241901 Differential Revision: http://reviews.llvm.org/D14707 llvm-svn: 255555
* Reordering fields to reduce padding in LLVM. NFCBen Craig2015-12-143-31/+35
| | | | llvm-svn: 255554
* Reordering fields to reduce padding in Clang. NFCBen Craig2015-12-142-11/+11
| | | | llvm-svn: 255552
* [WebAssembly] Add an assert to sanity-check dead flags.Dan Gohman2015-12-141-0/+3
| | | | | | | The WebAssemblyStoreResults pass runs before LiveVariables, so it doesn't expect to have to keep dead flags up to date; check this with an assert. llvm-svn: 255551
* Start implementing FDE dumping when printing the eh_frame.Pete Cooper2015-12-142-6/+113
| | | | | | | | | | This code adds some simple decoding of the FDE's in an eh_frame. There's still more to be done in terms of error handling and verification. Also, we need to be able to decode the CFI's. llvm-svn: 255550
* Temporarily skip TestWithLimitDebugInfo on Darwin and OS XTodd Fiala2015-12-141-0/+2
| | | | | | This test is erroring out on a sequence call to a function. llvm-svn: 255549
* [Editline] Redesign automatic indentation fix command for robustnessKate Stone2015-12-141-20/+33
| | | | | | The FixIndentationCommand implementation has proven to be fragile across various libedit iterations. This patch reworks the command to use the same basic strategy as when moving between lines in a multi-line edit session: when indentation changes are required, exit line editing completely and restart with amended content. This approach won't be susceptible to subtle behavior differences libedit has introduced over time. llvm-svn: 255548
* Correction in TestFrames.py test for arm targets in thumb modeOmair Javaid2015-12-141-3/+6
| | | | | | Differential revision: http://reviews.llvm.org/D15061 llvm-svn: 255547
OpenPOWER on IntegriCloud