summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [StreamExecutor] Simplify Kernel classesJason Henline2016-08-307-212/+87
| | | | | | | | | | | | | | Summary: Make the Kernel class follow the pattern of the other classes. It now has a type-safe user wrapper and a typeless, platform-specific handle. Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24043 llvm-svn: 280176
* [InstCombine] add tests to show type limitations of InsertRangeTest and callersSanjay Patel2016-08-303-3/+56
| | | | llvm-svn: 280175
* [analyzer] Use lazily created buffer in EmptyLocalizationContextCheckerDevin Coughlin2016-08-303-2/+20
| | | | | | | | | | | Fix a crash when relexing the underlying memory buffer to find incorrect arguments to NSLocalizedString(). With precompiled headers, the raw buffer may be NULL. Instead, use the source manager to get the buffer, which will lazily create the buffer for precompiled headers. rdar://problem/27429091 llvm-svn: 280174
* Rename the test classEnrico Granata2016-08-301-1/+1
| | | | llvm-svn: 280173
* Add an helper class lldb.formatters.synth.PythonObjectSyntheticChildProviderEnrico Granata2016-08-306-0/+153
| | | | | | | | This class enables one to easily write a synthetic child provider by writing a class that returns pairs of names and primitive Python values - the base class then converts those into LLDB SBValues Comes with a test case llvm-svn: 280172
* Driver: use the canonical static library namingSaleem Abdulrasool2016-08-303-9/+9
| | | | | | | | | | On Windows, static libraries are named lib<name>.lib while import libraries are named <name>.lib. Use the appropriate naming on itanium and msvc environments. This is setup properly so that if a dynamic builtins is used on Windows, it would do the right thing, although this is not currently wired through the driver (i.e. there is no equivalent to -{shared,static}-gcc). llvm-svn: 280169
* [codeview] Remove redundant TypeTable lookupReid Kleckner2016-08-301-17/+1
| | | | | | | | As written, the code should assert if this lookup would have ever succeeded. Without looking through composite types, the type graph should be acyclic. llvm-svn: 280168
* Add a test file, macho-invalid-dysymtab-extreloff-nextrel,Kevin Enderby2016-08-301-0/+0
| | | | | | I forgot to do an svn add on. llvm-svn: 280167
* Teach ValueObject::ReadPointedString how to read char[] in host memoryEnrico Granata2016-08-301-5/+16
| | | | llvm-svn: 280166
* clang-format: Correctly calculate affected ranges when sorting #includes.Daniel Jasper2016-08-302-6/+18
| | | | | | affectedRanges takes a start and an end offset, not offset and length. llvm-svn: 280165
* Fix a typo/thinko - this was generating the wrong kind of arrayEnrico Granata2016-08-301-1/+1
| | | | llvm-svn: 280164
* [ORC][RPC] Fix some bugs in the callB primitive.Lang Hames2016-08-301-3/+3
| | | | | | | Still no unit test due to synchronization bugs on s390. These issues were discovered in an out-of-tree utility. llvm-svn: 280163
* [CMake] Ensure that compiler-rt is added firstChris Bieneman2016-08-301-0/+15
| | | | | | This will enable other runtime projects to detect the presence of sanitizer runtimes by referring to the sanitizer targets directly. llvm-svn: 280162
* Next set of additional error checks for invalid Mach-O files for bad ↵Kevin Enderby2016-08-3016-6/+144
| | | | | | | | LC_DYSYMTAB’s. This contains the missing checks for LC_DYSYMTAB load command fields. llvm-svn: 280161
* [Modules] Add 'gnuinlineasm' to the 'requires-declaration' feature-list.Bruno Cardoso Lopes2016-08-307-0/+31
| | | | | | | | | | | | | This adds support for modules that require (no-)gnu-inline-asm environment, such as the compiler builtin cpuid submodule. This is the gnu-inline-asm variant of https://reviews.llvm.org/D23871 Differential Revision: https://reviews.llvm.org/D23905 rdar://problem/26931199 llvm-svn: 280159
* llvm-readobj: speculative fix for MSVCSaleem Abdulrasool2016-08-301-1/+1
| | | | | | Use the typedef rather than using to type alias the typename. llvm-svn: 280158
* Fix memory leak by storing returned pointer in std::unique_ptrRichard Trieu2016-08-301-4/+3
| | | | llvm-svn: 280157
* Pass Binding instead of IsWeak to addBitcode.Rafael Espindola2016-08-303-8/+6
| | | | | | We were computing the binding on both the caller and callee. llvm-svn: 280156
* GlobalISel: combine extracts & sequences created for legalizationTim Northover2016-08-306-11/+198
| | | | | | | | Legalization ends up creating many G_SEQUENCE/G_EXTRACT pairs which leads to inefficient codegen (even for -O0), so add a quick pass over the function to remove them again. llvm-svn: 280155
* AMDGPU: Relax SGPR asm constraint register classMatt Arsenault2016-08-302-1/+11
| | | | | | | s should be SReg_32 to be as general as possible. This can avoid a copy from m0. llvm-svn: 280154
* [libfuzzer] simplified unit truncation; do not write trunc items to discMike Aizatsky2016-08-302-34/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D24049 llvm-svn: 280153
* Revert "ELFDumper: Unversioned symbols must not have trailing @"Hemant Kulkarni2016-08-303-16/+13
| | | | | | | | This reverts commit 8df7a877949e8782a3a28e3ecdb0770c1e444056. Fixing other repositories and adding changes together. llvm-svn: 280152
* Add SBType::GetArrayType() such that - given a type - one can make an array ↵Enrico Granata2016-08-309-1/+57
| | | | | | | | (of a given size) of that type This is currently only implemented for the clang-based TypeSystem, but other languages are welcome to jump in! llvm-svn: 280151
* [test] Pass a fake libLTO.dylib to a driver test which depends on itVedant Kumar2016-08-301-7/+7
| | | | | | | This makes it possible to run 'check-clang' on Darwin without building libLTO.dylib. See r280142 for more context. llvm-svn: 280150
* Revert "[test] Add libLTO as a clang test dependency on Darwin"Vedant Kumar2016-08-301-4/+0
| | | | | | | | This reverts commit r280142. Mehdi suggested a better way to fix up the test: just create a fake libLTO.dylib and tell the driver where to find it. Patch incoming... llvm-svn: 280149
* [LoopVectorizer] Predicate instructions in blocks with several incoming edgesMichael Kuperstein2016-08-303-16/+66
| | | | | | | | | | We don't need to limit predication to blocks that have a single incoming edge, we just need to use the right mask. This fixes PR30172. Differential Revision: https://reviews.llvm.org/D24009 llvm-svn: 280148
* [COFFObjectFile] Ignore broken symbol tableDavid Majnemer2016-08-302-3/+12
| | | | | | | | | | | | | | | | When binaries are compressed by UPX, information about symbol table offset and symbol count remain unchanged (but became invalid due to compression). This causes failure in the constructor and the rest of the binary cannot be processed. Instead, reset symbol related information (symbol/string table pointers, sizes) - this should disable the related iterators and functions while the rest of the binary can still be processed. Patch by Bandzi Michal! llvm-svn: 280147
* stats: define WIN32_LEAN_AND_MEAN when including windows.hSaleem Abdulrasool2016-08-301-0/+1
| | | | | | | Reduce the amount of the header that we end up including in the build. The additional definitions are not necessary. llvm-svn: 280146
* profile: add missing include for WindowsSaleem Abdulrasool2016-08-301-0/+3
| | | | | | | Add a missing Windows.h which is needed for the windows type usage in the TU (e.g. HANDLE). llvm-svn: 280145
* [LTO] Fix the logic for dropping unnamed_addr.Davide Italiano2016-08-308-31/+75
| | | | | | Differential Revision: https://reviews.llvm.org/D24037 llvm-svn: 280144
* IntrArgMemOnly is only defined (and current AA machinery only sanely ↵Daniel Berlin2016-08-302-3/+44
| | | | | | supports) pointer arguments, and these intrinsics have vector of pointer arguments. Remove ArgMemOnly until we either have the machinery, define a new attribute, or something similar llvm-svn: 280143
* [test] Add libLTO as a clang test dependency on DarwinVedant Kumar2016-08-301-0/+4
| | | | | | | | | | | | | Running 'check-clang' on a stock checkout of llvm+clang doesn't work on Darwin, because test/Driver/darwin-ld-lto.c can't find libLTO.dylib. Add libLTO as a clang test dependency on Darwin to fix the problem. Note: We don't have this issue with check-all because libLTO is in the test-depends target. Differential Revision: https://reviews.llvm.org/D24042 llvm-svn: 280142
* Re-instate recent RPC updates (r280016, r280017, r280027, r280051) with aLang Hames2016-08-302-74/+176
| | | | | | workaround for the limitations of MSVC 2013's std::future class. llvm-svn: 280141
* ELFDumper: Unversioned symbols must not have trailing @Hemant Kulkarni2016-08-303-13/+16
| | | | llvm-svn: 280140
* A few minor stylistic cleanups in StringExtractor.Zachary Turner2016-08-3010-114/+107
| | | | | | | | | | | Makes Peek() return a StringRef instead of a const char*. This leads to a few callers of Peek() being able to be made a little nicer (for example using StringRef member functions instead of c-style strncmp and related functions) and generally safer usage. llvm-svn: 280139
* Appease older gcc compilers for the many-microtask-args.c testJonathan Peyton2016-08-301-1/+2
| | | | | | | Older gcc compilers error out with the C99 syntax of: for (int i =...) so this change just moves the int i; declaration up above. llvm-svn: 280138
* Use llvm to do endian conversions.Zachary Turner2016-08-301-105/+35
| | | | | | | | | LLDB was rolling its own endian conversion code, but functions to do this already exist in LLVM. While the code was probably correct, no point reinventing the wheel when we have well tested equivalents in LLVM that are one-liners. llvm-svn: 280137
* PR29166: when merging declarations with typedef names for linkage purposes,Richard Smith2016-08-302-1/+2
| | | | | | | don't assume that the anonymous struct will be part of the most recent declaration of the typedef. llvm-svn: 280136
* CodeGen: Fixup for r280128, since GCC isn't as permissive as ClangDuncan P. N. Exon Smith2016-08-302-8/+6
| | | | | | | Fixes the bots, e.g.: http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-buildserver/builds/10055 llvm-svn: 280135
* Unrevert r280035 now that the clang-cl bug it exposed has been fixed byRichard Smith2016-08-3011-22/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r280133. Original commit message: C++ Modules TS: driver support for building modules. This works as follows: we add --precompile to the existing gamut of options for specifying how far to go when compiling an input (-E, -c, -S, etc.). This flag specifies that an input is taken to the precompilation step and no further, and this can be specified when building a .pcm from a module interface or when building a .pch from a header file. The .cppm extension (and some related extensions) are implicitly recognized as C++ module interface files. If --precompile is /not/ specified, the file is compiled (via a .pcm) to a .o file containing the code for the module (and then potentially also assembled and linked, if -S, -c, etc. are not specified). We do not yet suppress the emission of object code for other users of the module interface, so for now this will only work if everything in the .cppm file has vague linkage. As with the existing support for module-map modules, prebuilt modules can be provided as compiler inputs either via the -fmodule-file= command-line argument or via files named ModuleName.pcm in one of the directories specified via -fprebuilt-module-path=. This also exposes the -fmodules-ts cc1 flag in the driver. This is still experimental, and in particular, the concrete syntax is subject to change as the Modules TS evolves in the C++ committee. Unlike -fmodules, this flag does not enable support for implicitly loading module maps nor building modules via the module cache, but those features can be turned on separately and used in conjunction with the Modules TS support. llvm-svn: 280134
* PR30195: Fix clang-cl attempting to precompile bogus (non-precompilable) ↵Richard Smith2016-08-304-26/+55
| | | | | | input types. llvm-svn: 280133
* GlobalISel: forbid physical registers on generic MIs.Tim Northover2016-08-309-72/+168
| | | | | | | | | | We're intending to move to a world where the type of a register is determined by its (unique) def. This is incompatible with physregs, which are untyped. It also means the other passes don't have to worry quite so much about register-class compatibility and inserting COPYs appropriately. llvm-svn: 280132
* llvm-readobj: add support for printing GNU NotesSaleem Abdulrasool2016-08-304-0/+221
| | | | | | | | | Add support for printing the GNU Notes. This allows an easy way to view the build id for a binary built with the build id. Currently, this only handles the GNU notes, though it would be easy to extend for other note types (default, FreeBSD, NetBSD, etc). Only the GNU style is supported currently. llvm-svn: 280131
* Support: add some more ELF constantsSaleem Abdulrasool2016-08-301-1/+14
| | | | | | | Add constants for additional GNU note types and the GNU Notes OS type id. This is needed to support printing the notes in ELF binaries. llvm-svn: 280130
* Fix unit test after function name change.Zachary Turner2016-08-301-4/+4
| | | | llvm-svn: 280129
* ADT: Split ilist_node_traits into alloc and callback, NFCDuncan P. N. Exon Smith2016-08-3016-86/+107
| | | | | | | | | | | | | | | | Many lists want to override only allocation semantics, or callbacks for iplist. Split these up to prevent code duplication. - Specialize ilist_alloc_traits to change the implementations of deleteNode() and createNode(). - One common desire is to do nothing deleteNode() and disable createNode(). Specialize ilist_alloc_traits to inherit from ilist_noalloc_traits for that behaviour. - Specialize ilist_callback_traits to use the addNodeToList(), removeNodeFromList(), and transferNodesFromList() callbacks. As a drive-by, add some coverage to the callback-related unit tests. llvm-svn: 280128
* typo + indentation [NFC]Etienne Bergeron2016-08-302-2/+2
| | | | llvm-svn: 280127
* Rename ArrayRef::keep_front / keep_back to take_front / take_back.Zachary Turner2016-08-301-8/+8
| | | | | | | The name decided on was take_, but I only updated it for StringRef and forgot to do it for ArrayRef. llvm-svn: 280126
* TailDuplication: Extract Indirect-Branch block limit as option. NFCKyle Butt2016-08-302-3/+11
| | | | | | | | The existing code hard-coded a limit of 20 instructions for duplication when a block ended with an indirect branch. Extract this as an option. No functional change intended. llvm-svn: 280125
* Add a few more unit tests for StringExtractor.Zachary Turner2016-08-302-0/+172
| | | | | | | | This is a NFC that adds more unit test coverage of the GetHex*** functions as well as the functions to extract numbers with a specific endianness. llvm-svn: 280124
OpenPOWER on IntegriCloud