- Mar 07, 2011
-
-
Devang Patel authored
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not. llvm-svn: 127165
-
Devang Patel authored
21 int main() { 22 A a; For example, here user would expect to stop at line 22, even if A's constructor leads to a call through CXXDefaultArgExpr. This fixes ostream-defined.exp regression from gdb testsuite. llvm-svn: 127164
-
John McCall authored
trivial to check this. Adjust for style. llvm-svn: 127151
-
John McCall authored
allocation and therefore requires a null-check. We were doing that, but we weren't treating the new-initializer as being conditionally executed, which means it was possible to get ill-formed IR as in PR9298. llvm-svn: 127147
-
Douglas Gregor authored
corner cases like the one in PR9301." which caused PR9416. llvm-svn: 127136
-
- Mar 06, 2011
-
-
Anders Carlsson authored
llvm-svn: 127121
-
- Mar 05, 2011
-
-
Benjamin Kramer authored
llvm-svn: 127082
-
- Mar 04, 2011
-
-
Bill Wendling authored
llvm-svn: 127039
-
Devang Patel authored
Emit a stop point before a call expression so that debugger has some chance of getting some footing when user wants to stop at 2nd bar() in following expression when all function calls are inlined. = bar() + ... + bar() + ... clang keeps track of column numbers, so we could put location entries for all subexpressions but that will significantly bloat debug info in general, but a location for call expression is helpful here. llvm-svn: 127018
-
John McCall authored
this can have any optimization effect, given the opacity of objects pointers, but you never know. llvm-svn: 126990
-
John McCall authored
llvm-svn: 126989
-
John McCall authored
bugs with such types. Not sure this is quite how I want the desugaring and a.k.a. logic to go, but it suffices. llvm-svn: 126986
-
- Mar 03, 2011
-
-
Devang Patel authored
This fixes few blocks.exp regressions. llvm-svn: 126960
-
- Mar 02, 2011
-
-
Dan Gohman authored
llvm-svn: 126890
-
Tilmann Scheller authored
This reverts commit 126863. llvm-svn: 126886
-
Benjamin Kramer authored
llvm-svn: 126883
-
Tilmann Scheller authored
This reverts commit 126865. llvm-svn: 126876
-
Devang Patel authored
llvm-svn: 126874
-
Fariborz Jahanian authored
// rdar://8604515. llvm-svn: 126869
-
Tilmann Scheller authored
llvm-svn: 126865
-
Tilmann Scheller authored
llvm-svn: 126863
-
Devang Patel authored
Encode argument numbering in debug info so that code generator can emit them in order. This fixes few blocks.exp regressions. Reapply r126795 with a fix (one character change) for gdb testsuite regressions. llvm-svn: 126858
-
Devang Patel authored
llvm-svn: 126848
-
John McCall authored
captured __block variables in the block-literal type. llvm-svn: 126834
-
Eli Friedman authored
can't overflow due to promotion rules; emit a wrapping add for those cases. llvm-svn: 126816
-
- Mar 01, 2011
-
-
Devang Patel authored
This fixes few blocks.exp regressions. llvm-svn: 126795
-
Fariborz Jahanian authored
The prototype for objc_msgSend() is technically variadic - `id objc_msgSend(id, SEL, ...)`. But all method calls should use a prototype that matches the method, not the prototype for objc_msgSend itself(). // rdar://9048030 llvm-svn: 126754
-
Chris Lattner authored
arithmetic. This is part of PR9256, it would be great if someone else wired up -fno-strict-overflow in the driver to -fwrapv. llvm-svn: 126718
-
- Feb 28, 2011
-
-
Devang Patel authored
llvm-svn: 126691
-
Fariborz Jahanian authored
llvm-svn: 126685
-
Fariborz Jahanian authored
The prototype for objc_msgSend() is technically variadic - `id objc_msgSend(id, SEL, ...)`. But all method calls should use a prototype that matches the method, not the prototype for objc_msgSend itself(). // rdar://9048030 llvm-svn: 126678
-
Chris Lattner authored
compound stmt containing the decl is skipped. llvm-svn: 126639
-
Chris Lattner authored
llvm-svn: 126638
-
Anders Carlsson authored
C++ exceptions, even when exceptions have been turned off using -fno-exceptions. Make the -fobjc-exceptions flag do the same thing, but for Objective-C exceptions. C++ and Objective-C exceptions can also be disabled using -fno-cxx-excptions and -fno-objc-exceptions. llvm-svn: 126630
-
Chris Lattner authored
llvm-svn: 126603
-
Chris Lattner authored
compound statements and break statements. This implements enough to handle PR9322 and rdar://6970405. llvm-svn: 126602
-
Chris Lattner authored
llvm-svn: 126600
-
Anders Carlsson authored
llvm-svn: 126598
-
Chris Lattner authored
live case of a switch statement when switching on a constant. This is terribly limited, but enough to handle the trivial example included. Before we would emit: define void @test1(i32 %i) nounwind { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 switch i32 1, label %sw.epilog [ i32 1, label %sw.bb ] sw.bb: ; preds = %entry %tmp = load i32* %i.addr, align 4 %inc = add nsw i32 %tmp, 1 store i32 %inc, i32* %i.addr, align 4 br label %sw.epilog sw.epilog: ; preds = %sw.bb, %entry switch i32 0, label %sw.epilog3 [ i32 1, label %sw.bb1 ] sw.bb1: ; preds = %sw.epilog %tmp2 = load i32* %i.addr, align 4 %add = add nsw i32 %tmp2, 2 store i32 %add, i32* %i.addr, align 4 br label %sw.epilog3 sw.epilog3: ; preds = %sw.bb1, %sw.epilog ret void } now we emit: define void @test1(i32 %i) nounwind { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 %tmp = load i32* %i.addr, align 4 %inc = add nsw i32 %tmp, 1 store i32 %inc, i32* %i.addr, align 4 ret void } This improves -O0 compile time (less IR to generate and shove through the code generator) and the clever linux kernel people found a way to fail to build if we don't do this optimization. This step isn't enough to handle the kernel case though. llvm-svn: 126597
-
Chris Lattner authored
llvm-svn: 126596
-