- Jan 04, 2014
-
-
Venkatraman Govindaraju authored
llvm-svn: 198484
-
Yaron Keren authored
llvm-svn: 198482
-
Yaron Keren authored
for libcxx when compiled with Visual C++ on Win32 and Win64. clang and gcc (MinGW) compilers provide these implementations themselves. llvm-svn: 198481
-
Venkatraman Govindaraju authored
Fixes PR18356. llvm-svn: 198480
-
Argyrios Kyrtzidis authored
llvm-svn: 198479
-
Andrew Trick authored
getSCEV for an ashr instruction creates an intermediate zext expression when it truncates its operand. The operand is initially inside the loop, so the narrow zext expression has a non-loop-invariant loop disposition. LoopSimplify then runs on an outer loop, hoists the ashr operand, and properly invalidate the SCEVs that are mapped to value. The SCEV expression for the ashr is now an AddRec with the hoisted value as the now loop-invariant start value. The LoopDisposition of this wide value was properly invalidated during LoopSimplify. However, if we later get the ashr SCEV again, we again try to create the intermediate zext expression. We get the same SCEV that we did earlier, and it is still cached because it was never mapped to a Value. When we try to create a new AddRec we abort because we're using the old non-loop-invariant LoopDisposition. I don't have a solution for this other than to clear LoopDisposition when LoopSimplify hoists things. I think the long-term strategy should be to perform LoopSimplify on all loops before computing SCEV and before running any loop opts on individual loops. It's possible we may want to rerun LoopSimplify on individual loops, but it should rarely do anything, so rarely require invalidating SCEV. llvm-svn: 198478
-
Andrew Trick authored
llvm-svn: 198477
-
Ted Kremenek authored
This checker has not been updated to work with interprocedural analysis, and actually contains both logical correctness issues but also memory bugs. We can resuscitate it from version control once there is focused interest in making it a real viable checker again. llvm-svn: 198476
-
Craig Topper authored
Remove JMP64pcrel32 (jmpq ). There are no tests for it. I'm pretty sure it won't be emitted correctly since it was set to NoImm. And I can't prove that gas accepts 'jmpq' with an immediate either. Remove the special case for it from the disassembler table generator. llvm-svn: 198475
-
Argyrios Kyrtzidis authored
consideration the num-of-elements*width-of-element width. Disallow casts when such width is not equal between the vector types otherwise we may end up with an invalid LLVM bitcast. rdar://15722308. llvm-svn: 198474
-
Richard Trieu authored
functions like Foo<5>::run() the same way as run<5>() for this warning. llvm-svn: 198470
-
Jason Molenda authored
The former will set the Address object's offset to the load address value if it is not present in any section; the latter will only set the Address object if the load addr is contained in one of its sections. <rdar://problem/15135987> llvm-svn: 198469
-
Joey Gouly authored
llvm-svn: 198468
-
Reid Kleckner authored
llvm-svn: 198465
-
Reid Kleckner authored
Summary: This makes us more compatible with MSVC 2012+ and fixes PR17748 where we would give two tables the same name. Rather than doing a fresh depth-first traversal of the inheritance graph for every record's vbtables, now we memoize vbtable paths for each record. By doing memoization, we end up considering virtual bases of subobjects that come later in the depth-first traversal. Where previously we would have ignored a virtual base that we'd already seen, we now consider it for name mangling purposes without emitting a duplicate vbtable for it. Reviewers: majnemer CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2509 llvm-svn: 198462
-
Adrian Prantl authored
the lexical block formed by the compound statement that is the function body. rdar://problem/15010825 llvm-svn: 198461
-
Joey Gouly authored
normalizedToAtoms. llvm-svn: 198459
-
- Jan 03, 2014
-
-
Marshall Clow authored
Rename ___make_pair_return to __make_pair_return_impl; ___make_tuple_return to __make_tuple_return_impl; and ____iterator_traits to __iterator_traits_impl. Part of a campaign to remove > 2 underscores from libc++. No functionality change. llvm-svn: 198457
-
Nico Weber authored
The motivation is to mark dump methods as used in debug builds so that they can be called from lldb, but to not do so in release builds so that they can be dead-stripped. There's lots of potential follow-up work suggested in the thread "Should dump methods be LLVM_ATTRIBUTE_USED only in debug builds?" on cfe-dev, but everyone seems to agreen on this subset. Macro name chosen by fair coin toss. llvm-svn: 198456
-
Jack Carter authored
llvm-svn: 198451
-
Jason Molenda authored
its stack frame is a constructed, fake thing that may not conform correctly to these rules. This fixes a problem where lldb couldn't backtrace past an asynchronous signal handler (_sigtramp) frame on a stack on Mac OS X. <rdar://problem/15035673> llvm-svn: 198450
-
Adrian Prantl authored
llvm-svn: 198449
-
Jason Molenda authored
<rdar://problem/15745397> llvm-svn: 198447
-
Aaron Ballman authored
Refactored Builtin::Context::isPrintfLike and isScanfLike into a helper function. The implementations are identical, except for the format arguments being searched for. No functional changes intended. llvm-svn: 198446
-
Reid Kleckner authored
Revert "For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment." This reverts commit r198441. This change doesn't build on Windows, and doesn't do the right thing on Linux and other platforms that don't use a _Z prefix instead of __Z for C++ names. It also had no tests, so it wasn't clear how to fix it forward. llvm-svn: 198445
-
Argyrios Kyrtzidis authored
llvm-svn: 198444
-
Rafael Espindola authored
Thanks to Owen Anderson for noticing it. llvm-svn: 198443
-
Argyrios Kyrtzidis authored
llvm-svn: 198442
-
Kevin Enderby authored
symbol name, also put the human readable name in a comment. Also fix a bug in LLVMDisasmInstruction() that was not flushing the raw_svector_ostream for the disassembled instruction string before copying it to the output buffer that was causing truncation of the output. rdar://10173828 llvm-svn: 198441
-
Aaron Ballman authored
Fixing a FIXME; the RetTy template parameter is always bool in practice, and so it has been removed. No functional changes intended. llvm-svn: 198440
-
Rafael Espindola authored
llvm-svn: 198439
-
Rafael Espindola authored
Before this patch any program that wanted to know the final symbol name of a GlobalValue had to link with Target. This patch implements a compromise solution where the mangler uses DataLayout. This way, any tool that already links with Target (llc, clang) gets the exact behavior as before and new IR files can be mangled without linking with Target. With this patch the mangler is constructed with just a DataLayout and DataLayout is extended to include the information the Mangler needs. llvm-svn: 198438
-
Ana Pazos authored
llvm-svn: 198437
-
David Blaikie authored
This reverts commit r198398, thus reapplying r198397. I had accidentally introduced an endianness issue when applying the hash to the type unit. Using support::ulittle64_t in the reinterpret_cast in addDwarfTypeUnitType fixes this issue. Original commit message: Debug Info: Type Units: Simplify type hashing using IR-provided unique names. What's good for LTO metadata size problems ought to be good for non-LTO debug info size too, so let's rely on the same uniqueness in both cases. If it's insufficient for non-LTO for whatever reason (since we now won't be uniquing CU-local types or any C types - but these are likely to not be the most significant contributors to type bloat) we should consider a frontend solution that'll help both LTO and non-LTO alike, rather than using DWARF-level DIE-hashing that only helps non-LTO debug info size. It's also much simpler this way and benefits C++ even more since we can deduplicate lexically separate definitions of the same C++ type since they have the same mangled name. llvm-svn: 198436
-
Aaron Ballman authored
llvm-svn: 198435
-
Joerg Sonnenberger authored
llvm-svn: 198434
-
Aaron Ballman authored
Removed one of the string versions of getQualifiedNameAsString, and switched over to using printQualifiedName where possible. No functional changes intended. llvm-svn: 198433
-
Argyrios Kyrtzidis authored
- Remove the additions to ObjCMethodDecl & ObjCIVarDecl that were getting de/serialized and consolidate all functionality for the checking for this warning in Sema::DiagnoseUnusedBackingIvarInAccessor - Don't check immediately after the method body is finished, check when the @implementation is finished. This is so we can see if the ivar was referenced by any other method, even if the method was defined after the accessor. - Don't silence the warning if any method is called from the accessor silence it if the accessor delegates to another method via self. rdar://15727325 llvm-svn: 198432
-
Marshall Clow authored
Patch by Howard. First part of fix for PR18218; add type traits needed to do the right thing. Fix the problems in PR18218 for isnan and pow - they also need to be applied to the other functions in <cmath>. Also, a drive-by fix for the test - now actually calls test_abs() llvm-svn: 198431
-
Rafael Espindola authored
llvm-svn: 198430
-