- Nov 11, 2014
-
-
Jingyue Wu authored
llvm-svn: 221668
-
Rafael Espindola authored
Base classes were storing a second copy. llvm-svn: 221667
-
Rafael Espindola authored
This adds const to a few methods that already return const references or creates a const version when they reterun non-const references. llvm-svn: 221666
-
Rafael Espindola authored
llvm-svn: 221665
-
Rafael Espindola authored
llvm-svn: 221664
-
Alexey Bataev authored
For all threadprivate variables which have constructor/destructor emit call to void __kmpc_threadprivate_register(ident_t * <Current Location>, void *<Original Global Addr>, kmpc_ctor <Constructor>, kmpc_cctor NULL, kmpc_dtor <Destructor>); In expressions all references to such variables are replaced by calls to void *__kmpc_threadprivate_cached(ident_t *<Current Location>, kmp_int32 <Current Thread Id>, void *<Original Global Addr>, size_t <Size of Data>, void ***<Pointer to autogenerated cache – array of private copies of threadprivate variable>); Test test/OpenMP/threadprivate_codegen.cpp checks that codegen is correct. Also it checks that codegen is correct after serialization/deserialization and one of passes verifies debug info. Differential Revision: http://reviews.llvm.org/D4002 llvm-svn: 221663
-
Richard Smith authored
parenthesized expression a bit differently in this case, just in case the commas have special meaning. llvm-svn: 221661
-
Sean Callanan authored
being asked about symbols it doesn't know about. If it's asked about a symbol by mangled name and it finds nothing, then it will try again with the demangled base name. llvm-svn: 221660
-
Justin Bogner authored
VisitSubStmtRBraceState is really just Visit, as long as VisitCompoundStatement handles braces correctly. llvm-svn: 221659
-
Sean Callanan authored
runtime. This eliminates potential confusion when the compiler has to deal with these weird types later on. One day I'd like to actually generate the proper templates, but this is not the day that I write the parser code to do that. <rdar://problem/18887634> llvm-svn: 221658
-
Quentin Colombet authored
AVX2 is available. According to IACA, the new lowering has a throughput of 8 cycles instead of 13 with the previous one. Althought this lowering kicks in some SPECs benchmarks, the performance improvement was within the noise. Correctness testing has been done for the whole range of uint32_t with the following program: uint4 v = (uint4) {0,1,2,3}; uint32_t i; //Check correctness over entire range for uint4 -> float4 conversion for( i = 0; i < 1U << (32-2); i++ ) { float4 t = test(v); float4 c = correct(v); if( 0xf != _mm_movemask_ps( t == c )) { printf( "Error @ %vx: %vf vs. %vf\n", v, c, t); return -1; } v += 4; } Where "correct" is the old lowering and "test" the new one. The patch adds a test case for the two custom lowering instruction. It also modifies the vector cost model, which is why cast.ll and uitofp.ll are modified. 2009-02-26-MachineLICMBug.ll is also modified because we now hoist 7 instructions instead of 4 (3 more constant loads). rdar://problem/18153096> llvm-svn: 221657
-
Bob Wilson authored
llvm-svn: 221656
-
NAKAMURA Takumi authored
llvm-svn: 221655
-
Nick Kledzik authored
The way lazy binding works in mach-o is that the linker generates a helper function and has the stub (PLT) initially jump to it. The helper function pushes an extra parameter then jumps into dyld. The extra parameter is an offset into the lazy binding info where dyld will find the information about which symbol to bind and way lazy binding pointer to update. llvm-svn: 221654
-
Alexey Samsonov authored
Get rid of ugly SanitizerOptions class thrust into LangOptions: * Make SanitizeAddressFieldPadding a regular language option, and rely on default behavior to initialize/reset it. * Make SanitizerBlacklistFile a regular member LangOptions. * Introduce the helper class "SanitizerSet" to represent the set of enabled sanitizers and make it a member of LangOptions. It is exactly the entity we want to cache and modify in CodeGenFunction, for instance. We'd also be able to reuse SanitizerSet in CodeGenOptions for storing the set of recoverable sanitizers, and in the Driver to represent the set of sanitizers turned on/off by the commandline flags. No functionality change. llvm-svn: 221653
-
Nico Weber authored
llvm-svn: 221652
-
Sean Callanan authored
- A correctness issue: with assertions disabled, ReadQuotedString would misbehave; and - A performance issue: BuildType used a long chain of if()s; I changed that to two switch statements. That also makes the code much nicer to step through when debugging it. llvm-svn: 221651
-
Shankar Easwaran authored
Addressed comments from Sean silva. llvm-svn: 221650
-
Shankar Easwaran authored
This reverts commit r221583. llvm-svn: 221649
-
Shankar Easwaran authored
llvm-svn: 221648
-
-
Alexey Samsonov authored
llvm-svn: 221646
-
Alexey Samsonov authored
llvm-svn: 221645
-
Marshall Clow authored
EricQWF's code coverage work showed that none of the libc++ tests were exercising some code in vector<bool>. Add more tests in an attempt to get better coverage llvm-svn: 221644
-
Sean Callanan authored
structures are parsed safely by the Objective-C runtime. Also made some modifications to the way we parse structs in the runtime to avoid mis-parsing @ followed by the name of the next field. <rdar://problem/18887634> llvm-svn: 221643
-
Zachary Turner authored
This patch implements basic support for stopping at breakpoints and resuming later. While a breakpoint is stopped at, LLDB will cease to process events in the debug loop, effectively suspending the process, and then resume later when ProcessWindows::DoResume is called. As a side effect, this also correctly handles the loader breakpoint (i.e. the initial stop) so that LLDB goes through the correct state sequence during the initial process launch. llvm-svn: 221642
-
Argyrios Kyrtzidis authored
report the 'init*' invocation as non-dynamic via clang_Cursor_isDynamicCall. Of course it is dynamic at runtime, but for purposes of indexing we can treat as an invocation to ClassName's init*. Addresses rdar://18916871. llvm-svn: 221641
-
Sean Callanan authored
out we only want to roll back text that was in the buffer to begin with, so it's not necessary to provide a pushback stack. I'm going to use this slightly cleaner API to perform lookahead for the Objective-C runtime type parser. llvm-svn: 221640
-
Chad Rosier authored
Patch by Daniel Stewart <stewartd@codeaurora.org>! Phabricator Revision: http://reviews.llvm.org/D6192 llvm-svn: 221639
-
- Nov 10, 2014
-
-
Rafael Espindola authored
Patch by Palmer Dabbelt! llvm-svn: 221638
-
Zachary Turner authored
llvm-svn: 221637
-
Zachary Turner authored
MSVC warns that not all control paths return a value when a switch doesn't have a default case handler. Changed explicit value checks to a default check. Also, it caught a case where bitwise AND was being used instead of logical AND. I'm not sure what this fixes, but presumably it is not covered by any kind of test case. llvm-svn: 221636
-
Alexey Samsonov authored
Make sure CodeGenFunction::EmitCheck() knows which sanitizer it emits check for. Make CheckRecoverableKind enum an implementation detail and move it away from header. Currently CheckRecoverableKind is determined by the type of sanitizer ("unreachable" and "return" are unrecoverable, "vptr" is always-recoverable, all the rest are recoverable). This will change in future if we allow to specify which sanitizers are recoverable, and which are not by -fsanitize-recover= flag. No functionality change. llvm-svn: 221635
-
Ben Langmuir authored
is enabled. Unlike system headers, we want to be more careful about modifications to user headers, because it's still easy to edit a header while you're building. llvm-svn: 221634
-
Greg Clayton authored
llvm-svn: 221633
-
Greg Clayton authored
Fix selectors not being objc-uniquified in the expression parser after a recent renaming in clang (clang change for revision 221451). This broke all objective C expressions in LLDB. llvm-svn: 221632
-
Tim Northover authored
Darwin's "-arch arm64" option implies full Cyclone CPU, for both architectural and tuning purposes. So if neither of the explicit options have been given, forward that on to the proper invocation. rdar://problem/18906227 llvm-svn: 221631
-
Richard Smith authored
Improve diagnostics if _Noreturn is placed after a function declarator. (This sometimes happens when a macro is used that expands to either the GNU noreturn attribute or _Noreturn.) llvm-svn: 221630
-
Michael Kuperstein authored
llvm-svn: 221629
-
Juergen Ributzka authored
In the case we optimize an integer extend away and replace it directly with the source register, we also have to clear all kill flags at all its uses. This is necessary, because the orignal IR instruction might be trivially dead, but we replaced it with a nop at MI level. llvm-svn: 221628
-