- Jan 12, 2014
-
-
Chandler Carruth authored
update in LLVM r199044. llvm-svn: 199045
-
Chandler Carruth authored
llvm-svn: 199042
-
Jakob Stoklund Olesen authored
llvm-svn: 199037
-
- Jan 11, 2014
-
-
Richard Smith authored
variable to the return slot. Patch by David Wiberg, with test case alterations by me. llvm-svn: 198991
-
- Jan 10, 2014
-
-
NAKAMURA Takumi authored
llvm-svn: 198906
-
Warren Hunt authored
The MS abi lays out *all* non-virtual bases with leading vfptrs before laying out non-virutal bases without vfptrs. This guarantees that the primary base is laid out first. r198818 fixed RecordLayoutBuilder to produce compatiable layouts. This patch fixes CGRecordLayoutBuilder to be able to consume those layouts and produce meaningful output without tripping any asserts about assumed incoming layout. A test case is included that shows CGRecordLayoutBuilder in fact produces output in the compatiable order. llvm-svn: 198900
-
- Jan 09, 2014
-
-
Rafael Espindola authored
I introduced this bug in 198815. Thanks for Mark Lacey for noticing. Unfortunately, I have no idea how to test this code. llvm-svn: 198891
-
Pekka Jaaskelainen authored
from the global address space (6.5.1 of the OpenCL 1.2 specification). This makes clang construct the image arguments in the global address space and generate the argument metadata with the correct address space descriptor. Patch by Pedro Ferreira! llvm-svn: 198868
-
Kostya Serebryany authored
Summary: This fixes the leak described in http://llvm.org/bugs/show_bug.cgi?id=18318 Reviewers: chandlerc, dblaikie Reviewed By: chandlerc CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2474 llvm-svn: 198857
-
Warren Hunt authored
This patch refactors microsoft record layout to be more "natural". The most dominant change is that vbptrs and vfptrs are injected after the fact. This simplifies the implementation and the math for the offest for the first base/field after the vbptr. llvm-svn: 198818
-
Rafael Espindola authored
llvm-svn: 198815
-
- Jan 07, 2014
-
-
Adrian Prantl authored
Debug info: Implement a cleaner version of r198461. For symmetry with C and C++ don't emit an extra lexical scope for the compound statement that is the body of an Objective-C method. llvm-svn: 198715
-
Adrian Prantl authored
This reverts commit r198461. llvm-svn: 198714
-
Adrian Prantl authored
This reverts commit 198699 so we can get a cleaner patch. llvm-svn: 198713
-
Adrian Prantl authored
C and C++ don't emit an extra lexical scope for the compound statement that is the body of an Objective-C method. rdar://problem/15010825 llvm-svn: 198699
-
Rafael Espindola authored
llvm-svn: 198692
-
Chandler Carruth authored
llvm-svn: 198689
-
Chandler Carruth authored
encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well. llvm-svn: 198686
-
Chandler Carruth authored
I have no idea why Clang's warning doesn't fire here, looks like a Clang bug. I'll investigate that separately. llvm-svn: 198677
-
Justin Bogner authored
llvm-svn: 198672
-
Adrian Prantl authored
llvm-svn: 198670
-
rdar://problem/15685848Adrian Prantl authored
It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa. Standalone is the default on Darwin until dtrace is updated to work with non-standalone debug info (rdar://problem/15758808). Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind because NoStandaloneDebugInfo sounded even more confusing. llvm-svn: 198655
-
Justin Bogner authored
llvm-svn: 198649
-
Ted Kremenek authored
llvm-svn: 198645
-
- Jan 06, 2014
-
-
Justin Bogner authored
llvm-svn: 198640
-
- Jan 04, 2014
-
-
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
-
- Jan 03, 2014
-
-
Reid Kleckner authored
llvm-svn: 198382
-
Reid Kleckner authored
Summary: No functionality change. This code should live here long-term because we should be able to use it to compute correct vftable names. It turns out that the most natural way to implement the naming algorithm is to use a caching layer similar to what we already have for virtual table info in VTableContext. Subsequent changes will take advantage of this to fix PR17748, where we have a vbtable name collision. Reviewers: majnemer CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2499 llvm-svn: 198380
-
- Jan 02, 2014
-
-
Alp Toker authored
The backend string is only verified when available as it's possible to run clang IRGen for targets that haven't been built or don't exist in LLVM. llvm-svn: 198309
-
- Jan 01, 2014
-
-
Alp Toker authored
Remove UnaryTypeTraitExpr and switch all remaining type trait related handling over to TypeTraitExpr. The UTT/BTT/TT enum prefix and evaluation code is retained pending further cleanup. This is part of the ongoing work to unify type traits following the removal of BinaryTypeTraitExpr in r197273. llvm-svn: 198271
-
- Dec 28, 2013
- Dec 27, 2013
-
-
Kostya Serebryany authored
Summary: This is an alternative to http://llvm-reviews.chandlerc.com/D2475 suggested by Chandler. Reviewers: chandlerc, rnk, dblaikie CC: cfe-commits, earthdok Differential Revision: http://llvm-reviews.chandlerc.com/D2478 llvm-svn: 198073
-
- Dec 23, 2013
-
-
Adrian Prantl authored
llvm-svn: 197916
-
Hao Liu authored
[AArch64]The compare to zero intrinsics should be implemented by 'icmp/fcmp' and 'sext' not 'zext'. Modify the implementation by replacing zext with sext. llvm-svn: 197898
-
- Dec 21, 2013
-
-
Alp Toker authored
DiagIDs are a cached resource generally only constructed from compile-time constant or stable format strings. Escaping arbitrary messages and constructing DiagIDs from them didn't make sense. llvm-svn: 197856
-
Reid Kleckner authored
Now CodeGenVTables has only one VTableContext object, which is either Itanium or Microsoft. Fixes a FIXME with no functionality change intended. Ideally we could avoid the downcasts by pushing the things that reference the Itanium vtable context into ItaniumCXXABI.cpp, but we're not there yet. llvm-svn: 197845
-
David Blaikie authored
DebugInfo: Do not include implicit members (implicit special members, template instantiations, etc) in the list of members of a structure. These members will still be lazily added to the relevant DWARF DIEs in LLVM but when enumerating the members they will not appear. This allows DWARF type units to be more consistent - the type unit will never contain these special members (so all instances of the type should have the same DIEs without some having some special members and others having others) and the special members will be added to the skeletal declaration that appears in the relevant compile_unit. llvm-svn: 197844
-
- Dec 20, 2013
-
-
Rafael Espindola authored
This matches llc's behavior. Before this patch clang would create a TargetInfo base on -triple but a llvm CodeGen based on the triple in the module. llvm-svn: 197837
-