- Feb 18, 2016
-
-
Reid Kleckner authored
IRBuilder has two ways of putting bundle operands on calls: the default operand bundle, and an overload of CreateCall that takes an operand bundle list. Previously, this overload used a default argument of None. This made it impossible to distinguish between the case were the caller doesn't care about bundles, and the case where the caller explicitly wants no bundles. We behaved as if they wanted the latter behavior rather than the former, which led to problems with simplifylibcalls and WinEH. This change fixes it by making the parameter non-optional, so we can distinguish these two cases. llvm-svn: 261258
-
Davide Italiano authored
llvm-svn: 261255
-
Amaury Sechet authored
Summary: As per title. There was a lot of part missing in the C API, so I had to extend the invoke and landingpad API. Reviewers: echristo, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17359 llvm-svn: 261254
-
Krzysztof Parzyszek authored
llvm-svn: 261253
-
David L. Jones authored
Using Backend_EmitLL attemps to create a file with an empty filename. This is problematic in certain environments: an empty filename may be illegal, or the default output path may not be writable (in the case where an empty filename would otherwise have some non-failing semantics). This patch switches to use Backend_EmitMCNull, which allows CodeGen to run, but does not attempt to create or write an output file. Differential Revision: http://reviews.llvm.org/D17405 llvm-svn: 261252
-
Krzysztof Parzyszek authored
llvm-svn: 261251
-
Philip Reames authored
llvm-svn: 261250
-
Jonathan Peyton authored
llvm-svn: 261249
-
Devin Coughlin authored
It explains why we can't just synthesize bodies of setters in BodyFarm. llvm-svn: 261248
-
Nico Weber authored
http://reviews.llvm.org/D17397 llvm-svn: 261247
-
Enrico Granata authored
Fix a typo in FormatCache.cpp such that the cache would potentially return an invalid format in some cases llvm-svn: 261246
-
Philip Reames authored
These atomic operations are conceptually both a load and store from the same location. As such, we can treat them as the most conservative of those two components which in practice, means we can treat them like stores. An cmpxchg or atomicrmw captures the values, but not the locations accessed. Note: We can probably be more aggressive about the comparison value in an cmpxhg since to have it be in memory, it must already be captured, but I figured it was better to avoid that for the moment. Note 2: It turns out that since we don't actually support cmpxchg of pointer type, writing a negative test is impossible. Differential Revision: http://reviews.llvm.org/D17400 llvm-svn: 261245
-
Devin Coughlin authored
When modeling a call to a setter for a property that is synthesized to be backed by an instance variable, don't invalidate the entire instance but rather only the storage for the updated instance variable itself. This still doesn't model the effect of the setter completely. It doesn't bind the set value to the ivar storage location because doing so would cause the set value to escape, removing valuable diagnostics about potential leaks of the value from the retain count checker. llvm-svn: 261243
-
Eugene Zelenko authored
llvm-svn: 261242
-
Zachary Turner authored
Differential Revision: http://reviews.llvm.org/D17088 llvm-svn: 261241
-
Zachary Turner authored
Differential Revision: http://reviews.llvm.org/D17106 llvm-svn: 261240
-
Zachary Turner authored
This patch adds a variety of different methods to query source and line number information from PDB files. llvm-svn: 261239
-
Hans Wennborg authored
Since the behaviour is now different between Darwin and non-Darwin, more triples are needed :-/ llvm-svn: 261238
-
Matthew Simpson authored
Differential Revision: http://reviews.llvm.org/D17379 llvm-svn: 261237
-
Reid Kleckner authored
llvm-svn: 261236
-
Hans Wennborg authored
In r260133, LLVM was changed to no longer extend i8/i16 return values, as it's not required by the ABI. However, code was found in the wild that relies on the old behaviour on Darwin, so this commit reverts back to that old behaviour for Darwin. On other platforms, it's less likely that code would be depending on the old behaviour, as GCC and MSVC haven't been extending such return values. llvm-svn: 261235
-
Benjamin Kramer authored
llvm-svn: 261234
-
Reid Kleckner authored
We were erroneously reporting 16K as the page size on Windows because the code that does the shadow mapping was using page size instead of allocation granularity. After fixing that, we can resolve the FIXMEs in the Windows implementations of GetPageSize and GetMmapGranularity by calling GetSystemInfo instead of returning hard-coded, incorrect answers. llvm-svn: 261233
-
Chad Rosier authored
llvm-svn: 261232
-
Ben Craig authored
This is one part of many of a locale refactor. See http://reviews.llvm.org/D17146 for an idea of where this is going. For the locale refactor, the locale management functions (newlocale, freelocale, uselocale) are needed in a separate header from the various _l functions. This is because some platforms implement the _l functions in terms of a locale switcher RAII helper, and the locale switcher RAII helper needs the locale management functions. This patch helps pave the way by getting all the functions in the right files, so that later diffs aren't completely horrible. The "do-nothing" / "nop" locale functions are also useful on their own for other lightweight platforms. Putting these nop implementations in support/xlocale should enable code sharing. Unfortunately, I have no access to a newlib system to build and test with, so this change has been made blind. Reviewed: http://reviews.llvm.org/D17382 llvm-svn: 261231
-
Ben Craig authored
This is one part of many of a locale refactor. See http://reviews.llvm.org/D17146 for an idea of where this is going. For the locale refactor, the locale management functions (newlocale, freelocale, uselocale) are needed in a separate header from the various _l functions. This is because some platforms implement the _l functions in terms of a locale switcher RAII helper, and the locale switcher RAII helper needs the locale management functions. This patch helps pave the way by getting all the functions in the right files, so that later diffs aren't completely horrible. Unfortunately, I have no access to an AIX machine to build with, so this change has been made blind. Also, the original author (Xing Xue) does not appear to have a Phabricator account. Reviewed: http://reviews.llvm.org/D17380 llvm-svn: 261230
-
Ed Maste authored
FreeBSD does not install a number of Clang-provided headers for the compiler in the base system due to incompatibilities between FreeBSD's and Clang's versions. As a workaround do not use --sysroot=. on FreeBSD until this is addressed. llvm.org/pr26651 Differential Revision: http://reviews.llvm.org/D17383 llvm-svn: 261229
-
Xinliang David Li authored
covmap needs to created as non allocatable, but not with SHT_NOTE. The latter was needed to workaround a problem of BFD linker with gc, which is no longer needed. (A more proper longer term fix requires changing FE driver to force referencing the section using linker script). Differential Revision: http://reviews.llvm.org/D17309 llvm-svn: 261228
-
Ewan Crawford authored
Commit r260721(http://reviews.llvm.org/D17182) introduced the following error when building for OSX using cmake: Undefined symbols for architecture x86_64: "_PyInit__lldb", referenced from: -exported_symbol[s_list] command line option ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Adding '*' to the regex solves this problem, since it makes the symbol optional. Reviewers: sivachandra, zturner, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17384 llvm-svn: 261227
-
Johannes Doerfert authored
To support non-aligned accesses we introduce a virtual element size for arrays that divides each access function used for this array. The adjustment of the access function based on the element size of the array was therefore moved after this virtual element size was determined, thus after all accesses have been created. Differential Revision: http://reviews.llvm.org/D17246 llvm-svn: 261226
-
Nicolai Haehnle authored
Summary: These correspond to IMAGE_LOAD/STORE[_MIP] and are going to be used by Mesa for the GL_ARB_shader_image_load_store extension. IMAGE_LOAD is already matched by llvm.SI.image.load. That intrinsic has a legacy name and pretends not to read memory. Differential Revision: http://reviews.llvm.org/D17276 llvm-svn: 261224
-
Serge Pavlov authored
llvm-svn: 261223
-
Serge Pavlov authored
Llvm module object is shared between CodeGenerator and BackendConsumer, in both classes it is stored as std::unique_ptr, which is not a good design solution and can cause double deletion error. Usually it does not occur because in BackendConsumer::HandleTranslationUnit the ownership of CodeGenerator over the module is taken away. If however this method is not called, the module is deleted twice and compiler crashes. As the module owned by BackendConsumer is always the same as CodeGenerator has, pointer to llvm module can be removed from BackendGenerator. Differential Revision: http://reviews.llvm.org/D15450 llvm-svn: 261222
-
Aaron Ballman authored
Add an AST matcher for real floating-point types. e.g., float, double, long double, but not complex. llvm-svn: 261221
-
Krzysztof Parzyszek authored
Compiling Hexagon target with GCC 6 produces "error: should have been declared inside" due to GCC PR c++/69657 which was merged. Properly wrapping operator<<() definitions within the namespace llvm fixes the issue. Author: domagoj.stolfa Differential Revision: http://reviews.llvm.org/D17281 llvm-svn: 261220
-
Yury Gribov authored
Patch by Alex Sidorin! Differential Revision: http://reviews.llvm.org/D17376 llvm-svn: 261219
-
Krzysztof Parzyszek authored
Patch by Anand Kodnani. llvm-svn: 261218
-
Benjamin Kramer authored
Currently we return no results when completing inside of the brackets in a 'char foo[]' declaration. Let the generic expression completion code handle it instead. We could get fancier here (e.g. filter non-constant expressions in contexts where VLAs are not allowed), but it's a strict improvement over the existing version. llvm-svn: 261217
-
Hongbin Zheng authored
llvm-svn: 261216
-
Hongbin Zheng authored
llvm-svn: 261215
-