summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add an OperatingSystem plugin to support goroutinesRyan Brown2015-09-1625-16/+949
| | | | | | | | | | The Go runtime schedules user level threads (goroutines) across real threads. This adds an OS plugin to create memory threads for goroutines. It supports the 1.4 and 1.5 go runtime. Differential Revision: http://reviews.llvm.org/D5871 llvm-svn: 247852
* [WinEH] Fix a build issue in CGException.cppReid Kleckner2015-09-161-2/+1
| | | | | | I was constructing an object without filling in all the fields. llvm-svn: 247851
* [CMake] More refactoring of symlink creation.Chris Bieneman2015-09-161-11/+17
| | | | | | This refactoring is to enable clang to re-use this code. llvm-svn: 247850
* [ELF2] Initial support for local symbols.Davide Italiano2015-09-1610-18/+230
| | | | | | | | | | Symbol table is now populated correctly, but some fields are missing, they'll be added in the future. This patch also adds --discard-all flag, which was the default behavior until now. Differential Revision: http://reviews.llvm.org/D12874 llvm-svn: 247849
* [WinEHPrepare] Turn terminatepad into a cleanuppad + call + cleanupretDavid Majnemer2015-09-162-0/+59
| | | | | | | | The MSVC doesn't really support exception specifications so let's just turn these into cleanuppads. Later, we might use terminatepad to more efficiently encode the "noexcept"-ness of a function body. llvm-svn: 247848
* Allow BackpatchWord to be called for non-32-bit aligned words, andTeresa Johnson2015-09-161-8/+19
| | | | | | | | | from outside the BitstreamWriter. Split out of patch D12536 (Function bitcode index in Value Symbol Table and lazy reading support), which will use it to patch in the VST offset. llvm-svn: 247847
* [InstCombine] Optimize icmp slt signum(x), 1 --> icmp slt x, 1Sanjoy Das2015-09-163-0/+97
| | | | | | | | | | | | | | | | | | | | | | Summary: `signum(x)` is sometimes implemented as `(x >> 63) | (-x >>> 63)` (for an `i64` `x`). This change adds a matcher for that pattern, and an instcombine rule to optimize `signum(x) s< 1`. Later, we can also consider optimizing: icmp slt signum(x), 0 --> icmp slt x, 0 icmp sle signum(x), 1 --> true etc. Reviewers: majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12703 llvm-svn: 247846
* [Windows] xfail a test that uses C++ EHReid Kleckner2015-09-161-0/+3
| | | | llvm-svn: 247845
* [WinEH] Pull Adjectives and CatchObj out of the catchpad arg listReid Kleckner2015-09-1610-53/+82
| | | | | | | | | | Clang now passes the adjectives as an argument to catchpad. Getting the CatchObj working is simply a matter of threading another static alloca through codegen, first as an alloca, then as a frame index, and finally as a frame offset. llvm-svn: 247844
* [WinEH] Pass the catch adjectives to catchpad directlyReid Kleckner2015-09-1611-105/+111
| | | | | | | | | This avoids building a fake LLVM IR global variable just to ferry an i32 down into LLVM codegen. It also puts a nail in the coffin of using MS ABI C++ EH with landingpads, since now we'll assert in the lpad code when flags are present. llvm-svn: 247843
* add a dependency on terminfo library if llvm uses itZachary Turner2015-09-161-0/+3
| | | | | | | | | | | | | | | | | | | | Ncurses related symbols can either all be found in libnurses or split between libncurses and libtinfo. The main LLVM cmake scripts look for the setupterm symbol and stores the library that has it in TERMINFO_LIBS. This covers the split and unified ncurses case. LLDB uses symbols that can end up in libtinfo so this library should be pulled in if it is found. There is still an exotic case left where LLDB is configured with -DLLDB_DISABLE_CURSES=NO and LLVM with -DLLVM_ENABLE_TERMINFO=NO but misconfigurations will always be possible. Possibly a diagnostic could be added for that. This fixes bug 24693. Differential Revision: http://reviews.llvm.org/D12672 Patch by Jeremi Piotrowski llvm-svn: 247842
* Fix log disable command in ProcessWindowsLog.Zachary Turner2015-09-161-12/+18
| | | | | | | | | | | The implications of this bug where that "log disable windows" would not actually disable the log, and worse it would lock the file handle making it impossible to delete the file until lldb was shut down. This was then causing the test suite to fail, because the test suite tries to delete log files in certain situations. llvm-svn: 247841
* Fix compilation warning in compiler-rt.Evgeniy Stepanov2015-09-161-1/+1
| | | | | | | error: width of bit-field 'allocated' (8 bits) exceeds the width of its type; value will be truncated to 1 bit [-Werror,-Wbitfield-width] llvm-svn: 247840
* Relax the test to fix some bots.Rafael Espindola2015-09-161-4/+4
| | | | | | | The string table contains a file path, so addresses and offsets can be different on some setups. llvm-svn: 247839
* Move code computing NumEntries to finalize.Rafael Espindola2015-09-162-5/+13
| | | | | | | When DynamicSection is constructed we still don't know if there will be any dynamic relocations or not. llvm-svn: 247838
* Add DT_RELA and DT_RELASZ to the dynamic table.Rafael Espindola2015-09-162-6/+29
| | | | llvm-svn: 247837
* Add using directives to the clang::DeclContext and fix decls for variables ↵Paul Herman2015-09-1610-40/+94
| | | | | | | | | | | | | | inside namespaces Summary: Supports the parsing of the "using namespace XXX" and "using XXX::XXX" directives. Added ambiguity errors when it two decls with the same name are encountered (see comments in TestCppNsImport). Fixes using directives being duplicated for anonymous namespaces. Fixes GetDeclForUID for specification DIEs. Reviewers: sivachandra, chaoren, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12897 llvm-svn: 247836
* [WinEHPrepare] Provide a cloning mode which doesn't demoteDavid Majnemer2015-09-162-9/+190
| | | | | | | | | | | We are experimenting with a new approach to saving and restoring SSA values used across funclets: let the register allocator do the dirty work for us. However, this means that we need to be able to clone commoned blocks without relying on demotion. llvm-svn: 247835
* [WinEHPrepare] Refactor explicit EH preparationDavid Majnemer2015-09-161-10/+48
| | | | | | | | Split the preparation machinery into several functions, we will want to selectively enable/disable different parts of it for an alternative mechanism for dealing with cross-funclet uses. llvm-svn: 247834
* [CMake] Make the sample program in darwin_test_archs have a symbol it needs ↵Chris Bieneman2015-09-161-1/+1
| | | | | | | | | | to link. This resolves an issue building compiler-rt using Xcode 7 that was reported on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2015-September/090245.html llvm-svn: 247833
* [tooling] Add unit tests for change in r247468.Argyrios Kyrtzidis2015-09-161-3/+7
| | | | llvm-svn: 247832
* Move hardcoded formatters from the FormatManager to the Language pluginsEnrico Granata2015-09-169-115/+329
| | | | llvm-svn: 247831
* Remove XFAIL from TestCppNsImport.Zachary Turner2015-09-161-2/+0
| | | | | | This test seems to be working now, probably due to r244764. llvm-svn: 247830
* Add first tests for mini-dump debugging.Adrian McCarthy2015-09-164-0/+77
| | | | | | Differential Revision: http://reviews.llvm.org/D12888 llvm-svn: 247829
* [analyzer] Improved behavior if Clang was not found, part IIAnton Yartsev2015-09-161-34/+50
| | | | | | | - scan-build help: display 'Could not query Clang for the list of available checkers.' + the reason why it happened so if clang was not found. - display requested/forced help in case of --use-analyzer=Xcode. llvm-svn: 247828
* Add endianness configuration block for GCC.Dan Albert2015-09-161-0/+10
| | | | | | | Previously GCC using libc++ would just leak endian.h for every include. llvm-svn: 247827
* Silence compiler warnings about unhandled switch cases.Zachary Turner2015-09-161-78/+5
| | | | llvm-svn: 247826
* Last set of XFAILs for Windows.Zachary Turner2015-09-168-0/+10
| | | | llvm-svn: 247825
* Disable the second verification run when performing LTO throughTeresa Johnson2015-09-162-1/+35
| | | | | | | | gold in NDEBUG mode. Follow on patch for r247729 - LTO: Disable extra verify runs in release builds. llvm-svn: 247824
* Add newline at end of file to avoid compiler warning.Greg Clayton2015-09-161-1/+1
| | | | llvm-svn: 247823
* Decorate flaky FreeBSD testEd Maste2015-09-161-0/+1
| | | | | | | | | | | | | ExprCommandWithTimeoutsTestCase::expectedFailureFreeBSD had an expectedFailureFreeBSD decorator, removed in r247799. It had been flakey on the FreeBSD buildbot but passed locally. John Wolfe has since observed a local failure, so add expectedFlakeyFreeBSD until we can investigate and likely increase the timeout in the test. llvm.org/pr19605 (FreeBSD) llvm.org/pr20275 (equivalent Linux issue) llvm-svn: 247822
* Add plugin.jit-loader.gdb.enable-jit-breakpoint property to make JIT loader ↵Oleksiy Vyalov2015-09-164-94/+184
| | | | | | | | breakpoint optional. http://reviews.llvm.org/D12890 llvm-svn: 247821
* [WinEH] Skip state numbering when no EH pads are presentReid Kleckner2015-09-163-6/+25
| | | | | | | | | Otherwise we'd try to emit the thunk that passes the LSDA to __CxxFrameHandler3. We don't emit the LSDA if there were no landingpads, so we'd end up with an assembler error when trying to write the COFF object. llvm-svn: 247820
* Improve "default_triple" specification: make it at the directory level for ↵Mehdi Amini2015-09-165-5/+2
| | | | | | | test/tools/llvm-mc From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 247819
* [WebAssembly] Check in an initial CFG Stackifier passDan Gohman2015-09-1615-6/+929
| | | | | | | | | | | | This pass implements a simple algorithm for conversion from CFG to wasm's structured control flow. It doesn't yet handle multiple-entry loops; that will be added in a future patch. It also adds initial support for switch statements. Differential Revision: http://reviews.llvm.org/D12735 llvm-svn: 247818
* COFF: Enable ICF by default.Rui Ueyama2015-09-165-6/+5
| | | | | | MSVC linker enables ICF as long as /opt:ref is eanbled, so do we. llvm-svn: 247817
* COFF: Rename /opt:lldicf -> /opt:icf.Rui Ueyama2015-09-166-12/+9
| | | | | | | Now that ICF is complete, we can rename this option so that the driver accepts the MSVC-compatible command line option. llvm-svn: 247816
* propagate fast-math-flags on DAG nodesSanjay Patel2015-09-1617-205/+344
| | | | | | | | | | | | | | | | | | | After D10403, we had FMF in the DAG but disabled by default. Nick reported no crashing errors after some stress testing, so I enabled them at r243687. However, Escha soon notified us of a bug not covered by any in-tree regression tests: if we don't propagate the flags, we may fail to CSE DAG nodes because differing FMF causes them to not match. There is one test case in this patch to prove that point. This patch hopes to fix or leave a 'TODO' for all of the in-tree places where we create nodes that are FMF-capable. I did this by putting an assert in SelectionDAG.getNode() to find any FMF-capable node that was being created without FMF ( D11807 ). I then ran all regression tests and test-suite and confirmed that everything passes. This patch exposes remaining work to get DAG FMF to be fully functional: (1) add the flags to non-binary nodes such as FCMP, FMA and FNEG; (2) add the flags to intrinsics; (3) use the flags as conditions for transforms rather than the current global settings. Differential Revision: http://reviews.llvm.org/D12095 llvm-svn: 247815
* Add assembler fatal error for undefined assembler labels in COFF writerReid Kleckner2015-09-162-0/+9
| | | | llvm-svn: 247814
* don't repeat function names in comments; NFCSanjay Patel2015-09-161-29/+24
| | | | llvm-svn: 247813
* [clang-tidy] Ignore spaces in -checks=Alexander Kornienko2015-09-161-1/+1
| | | | llvm-svn: 247812
* Start creating dynamic relocations.Rafael Espindola2015-09-165-25/+170
| | | | | | For now we don't create got/plt and only Elf_Rela is supported. llvm-svn: 247811
* cmake fixes for lldb target.Todd Fiala2015-09-163-1/+32
| | | | | | | | | | | ninja lldb now does the following: * forces the python post-build step to fire, which sets up the python lldb module properly. * on Darwin and Linux, requires the lldb-server target to be built. * on Darwin, requires the debugserver target to be built. See http://reviews.llvm.org/D12899 for details. llvm-svn: 247810
* [MSan] Enable MSAN for aarch64Adhemerval Zanella2015-09-1619-20/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enabled msan for aarch64 with 39-bit VMA and 42-bit VMA. As defined by lib/msan/msan.h the memory layout used is for 39-bit is: 00 0000 0000 - 40 0000 0000: invalid 40 0000 0000 - 43 0000 0000: shadow 43 0000 0000 - 46 0000 0000: origin 46 0000 0000 - 55 0000 0000: invalid 55 0000 0000 - 56 0000 0000: app (low) 56 0000 0000 - 70 0000 0000: invalid 70 0000 0000 - 80 0000 0000: app (high) And for 42-bit VMA: 000 0000 0000 - 100 0000 0000: invalid 100 0000 0000 - 11b 0000 0000: shadow 11b 0000 0000 - 120 0000 0000: invalid 120 0000 0000 - 13b 0000 0000: origin 13b 0000 0000 - 2aa 0000 0000: invalid 2aa 0000 0000 - 2ab 0000 0000: app (low) 2ab 0000 0000 - 3f0 0000 0000: invalid 3f0 0000 0000 - 400 0000 0000: app (high) Most of tests are passing with exception of: * Linux/mallinfo.cc * chained_origin_limits.cc * dlerror.cc * param_tls_limit.cc * signal_stress_test.cc * nonnull-arg.cpp The 'Linux/mallinfo.cc' is due the fact AArch64 returns the sret in 'x8' instead of default first argument 'x1'. So a function prototype that aims to mimic (by using first argument as the return of function) won't work. For GCC one can make a register alias (register var asm ("r8")), but for clang it detects is an unused variable and generate wrong code. The 'chained_origin_limits' is probably due a wrong code generation, since it fails only when origin memory is used (-fsanitize-memory-track-origins=2) and only in the returned code (return buf[50]). The 'signal_streess_test' and 'nonnull-arg' are due currently missing variadic argument handling in memory sanitizer code instrumentation on LLVM side. Both 'dlerror' and 'param_tls_test' are unknown failures that require further investigation. All the failures are XFAIL for aarch64 for now. llvm-svn: 247809
* [sanitizers] Enable memory sanitizer on clangAdhemerval Zanella2015-09-161-1/+1
| | | | | | This patch enables MSan for aarch64/linux llvm-svn: 247808
* [sanitizer] Add MSan support for AArch64Adhemerval Zanella2015-09-161-0/+34
| | | | | | | | | This patch adds support for msan on aarch64-linux for both 39 and 42-bit VMA. The support is enabled by defining the SANITIZER_AARCH64_VMA compiler flag to either 39 or 42 at build time for both clang/llvm and compiler-rt. The default VMA is 39 bits. llvm-svn: 247807
* [clang-tidy] google-runtime-int: made the matcher more restricting, added a ↵Alexander Kornienko2015-09-162-1/+9
| | | | | | | | test for a false positive This should be NFC. llvm-svn: 247806
* Upgrading TestCreateDuringInstructionStep from XFLAKY to XFAIL on android armPavel Labath2015-09-161-1/+1
| | | | | | the test is very often failing two times in a row, causing noise on the buildbots. llvm-svn: 247805
* [SPARC] Both GNU and Solaris as support eq as condition code for integer ops.Joerg Sonnenberger2015-09-162-0/+5
| | | | llvm-svn: 247804
* [clang-tidy] Make google-runtime-int configurable.Alexander Kornienko2015-09-163-7/+76
| | | | llvm-svn: 247803
OpenPOWER on IntegriCloud