summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update the 3.8 release notes with the breaking change information regarding ↵Aaron Ballman2015-09-171-0/+45
| | | | | | AST matchers. llvm-svn: 247887
* Refactors AST matching code to use the new AST matcher names. This patch ↵Aaron Ballman2015-09-1731-188/+208
| | | | | | correlates to r247885 which performs the AST matcher rename in Clang. llvm-svn: 247886
* Rename AST node matchers to match the AST node names directly. Part of this ↵Aaron Ballman2015-09-1711-801/+954
| | | | | | rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects. llvm-svn: 247885
* Typos. NFC.Chad Rosier2015-09-171-5/+5
| | | | llvm-svn: 247884
* revert r.247881 due to tests failuresAsaf Badouh2015-09-173-1129/+3
| | | | llvm-svn: 247883
* Appease clang/test/CodeGen/avx512dq-builtins.c for -Asserts, for now.NAKAMURA Takumi2015-09-171-0/+1
| | | | llvm-svn: 247882
* [X86][AVX512DQ] add new intrinsicsAsaf Badouh2015-09-173-3/+1129
| | | | | | | | | | | | convert i64 to FP and vice versa reduceps & reducepd rangeps & rangepd all in their 512bit versions Differential Revision: http://reviews.llvm.org/D11716 llvm-svn: 247881
* [mips][microMIPS] Implement TEQ, TGE, TGEU, TLT, TLTU and TNE instructionsZoran Jovanovic2015-09-1711-33/+172
| | | | | | Differential Revision: http://reviews.llvm.org/D9658 llvm-svn: 247880
* XFAIL step after crash tests on android-aarch64 API 21Tamas Berghammer2015-09-172-0/+2
| | | | | | | Android-aarch64 for API21 uses sa_restore to return from a signal handler what have no eh_frame specified. llvm-svn: 247879
* [ELF2] Fix typo in RelocationSection::hasRelocs methodDenis Protivensky2015-09-171-4/+4
| | | | llvm-svn: 247878
* Remove XTIMEOUT from TestAttachDenied on linuxPavel Labath2015-09-171-1/+0
| | | | llvm-svn: 247877
* AVX-512: shufflevector for i1 vectors <2 x i1> .. <64 x i1>Elena Demikhovsky2015-09-174-40/+481
| | | | | | | | | | AVX-512 does not provide an instruction that shuffles mask register. So I do the following way: mask-2-simd , shuffle simd , simd-2-mask Differential Revision: http://reviews.llvm.org/D12727 llvm-svn: 247876
* Visual Studio seems to consider this invocation ambiguous. Try to clarify ↵Enrico Granata2015-09-171-1/+2
| | | | | | what I mean llvm-svn: 247875
* GCC AutoFDO profile reader - Initial support.Diego Novillo2015-09-177-13/+580
| | | | | | | | | | | | | | | | | | This adds enough machinery to support reading simple GCC AutoFDO profiles. It now supports reading flat profiles (no function calls). Subsequent patches will add support for: - Inlined calls (in particular, the inline call stack is not traversed to accumulate samples). - Working sets and modules. These are used mostly for GCC's LIPO optimizations, so they're not needed in LLVM atm. I'm not sure that we will ever need them. For now, I've if0'd around the calls. The patch also adds support in GCOV.h for gcov version V704 (generated by GCC's profile conversion tool). llvm-svn: 247874
* Check for errors after reading a sample profile in llvm-profdata.Diego Novillo2015-09-171-1/+3
| | | | | | | After reading the profile, check if the reader returned any errors before showing the profile. llvm-svn: 247873
* Add the ability for formatter categories to be bound to one or more languagesEnrico Granata2015-09-1711-44/+376
| | | | | | What that does is it restricts formatters in those categories to only match to types coming from "compatible" source languages llvm-svn: 247872
* Updating docs for MSan to describe poison-in-dtor.Naomi Musgrave2015-09-171-0/+10
| | | | | | | | | | | | | | | | | | Summary: Describe the compile and runtime flags to enable MemorySanitizer detection of use-after-destroy. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12914 Revise doc description of use-after-dtor. Change wording to specify memory no longer readable. llvm-svn: 247871
* Try to fix WebAssembly build after r247864Hans Wennborg2015-09-162-2/+2
| | | | llvm-svn: 247870
* COFF: Remove DefinedSymbol::isLive() and markLive(). NFC.Rui Ueyama2015-09-163-20/+15
| | | | | | | | | | | | | Basically the concept of "liveness" is for sections (or chunks in LLD terminology) and not for symbols. Symbols are always available or live, or otherwise it indicates a link failure. Previously, we had isLive() and markLive() methods for DefinedSymbol. They are confusing methods. What they actually did is to act as a proxy to backing section chunks. We can simplify eliminate these methods and call section chunk's methods directly. llvm-svn: 247869
* COFF: ICF: Print out the number of iterations. NFC.Rui Ueyama2015-09-161-3/+5
| | | | llvm-svn: 247868
* ScalarEvolution: added tmp to avoid use-after-dtor in for loop.Naomi Musgrave2015-09-161-2/+5
| | | | | | | | | | | | | | | | | Summary: For loop destroyed current instance before invoking next. Temporary variable added to prevent use-after-dtor when invoke destructor on current instance. Reviewers: eugenis Subscribers: llvm-commits, sanjoy Differential Revision: http://reviews.llvm.org/D12912 Rename temp var. llvm-svn: 247867
* Make sure we're negating the assembler predicate - no testcaseEric Christopher2015-09-161-1/+1
| | | | | | | because it isn't being used on anything via the assembler right now. llvm-svn: 247866
* Use the cached TargetInstrInfo instead of looking it up again.Eric Christopher2015-09-161-2/+1
| | | | llvm-svn: 247865
* constify the Function parameter to the TTI creation callback andEric Christopher2015-09-1623-33/+36
| | | | | | propagate to all callers/users/etc. llvm-svn: 247864
* XFAIL TestCppNsImport for gcc-4.9 inclusive.Chaoren Lin2015-09-161-1/+1
| | | | llvm-svn: 247863
* analyzer-plugin/MainCallChecker.cpp: s/generateSink/generateErrorNode/, ↵NAKAMURA Takumi2015-09-161-1/+1
| | | | | | corresponding to r247859. llvm-svn: 247862
* [Static Analyzer] Generics Checker: When an ObjC method returns a ↵Gabor Horvath2015-09-162-651/+1239
| | | | | | | | specialized object, track it properly. Differential Revision: http://reviews.llvm.org/D12889 llvm-svn: 247861
* [WinEH] Rip out the landingpad-based C++ EH state numbering codeReid Kleckner2015-09-1615-1572/+73
| | | | | | It never really worked, and the new code is working better every day. llvm-svn: 247860
* [analyzer] Add generateErrorNode() APIs to CheckerContext.Devin Coughlin2015-09-1646-106/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The analyzer trims unnecessary nodes from the exploded graph before reporting path diagnostics. However, in some cases it can trim all nodes (including the error node), leading to an assertion failure (see https://llvm.org/bugs/show_bug.cgi?id=24184). This commit addresses the issue by adding two new APIs to CheckerContext to explicitly create error nodes. Unless the client provides a custom tag, these APIs tag the node with the checker's tag -- preventing it from being trimmed. The generateErrorNode() method creates a sink error node, while generateNonFatalErrorNode() creates an error node for a path that should continue being explored. The intent is that one of these two methods should be used whenever a checker creates an error node. This commit updates the checkers to use these APIs. These APIs (unlike addTransition() and generateSink()) do not take an explicit Pred node. This is because there are not any error nodes in the checkers that were created with an explicit different than the default (the CheckerContext's Pred node). It also changes generateSink() to require state and pred nodes (previously these were optional) to reduce confusion. Additionally, there were several cases where checkers did check whether a generated node could be null; we now explicitly check for null in these places. This commit also includes a test case written by Ying Yi as part of http://reviews.llvm.org/D12163 (that patch originally addressed this issue but was reverted because it introduced false positive regressions). Differential Revision: http://reviews.llvm.org/D12780 llvm-svn: 247859
* Start adding support for Elf_Rel.Rafael Espindola2015-09-162-47/+106
| | | | | | | I don't intend to add full i686 support right now, just make sure we have all the infrastructure in place for it. llvm-svn: 247858
* Fix Makefile for Windows to Android tests.Chaoren Lin2015-09-161-5/+6
| | | | | | | | | | Reviewers: zturner Subscribers: tberghammer, lldb-commits, danalbert Differential Revision: http://reviews.llvm.org/D12909 llvm-svn: 247857
* COFF: Fix bug that not all symbols were written to symtab if /opt:noref.Rui Ueyama2015-09-164-17/+22
| | | | | | | | | Only live symbols are written to the symbol table. Because isLive() returned false if dead-stripping was disabled entirely, only non-COMDAT sections were written to the symbol table. This patch fixes the issue. llvm-svn: 247856
* XFAIL TestCppNsImport for gcc-4.9.Chaoren Lin2015-09-161-0/+1
| | | | | | Works for gcc-4.8. A bug in gcc perhaps. llvm-svn: 247855
* COFF: Fix bug that /opt:noicf was ignored.Rui Ueyama2015-09-162-4/+15
| | | | llvm-svn: 247854
* COFF: Output messages for /verbose to stdout instead of stderr.Rui Ueyama2015-09-161-7/+4
| | | | | | This patch also makes the message less verbose. llvm-svn: 247853
* 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
OpenPOWER on IntegriCloud