- Jan 01, 2010
-
-
Chris Lattner authored
positive and negative forms of constants together. This allows us to compile: int foo(int x, int y) { return (x-y) + (x-y) + (x-y); } into: _foo: ## @foo subl %esi, %edi leal (%rdi,%rdi,2), %eax ret instead of (where the 3 and -3 were not factored): _foo: imull $-3, 8(%esp), %ecx imull $3, 4(%esp), %eax addl %ecx, %eax ret this started out as: movl 12(%ebp), %ecx imull $3, 8(%ebp), %eax subl %ecx, %eax subl %ecx, %eax subl %ecx, %eax ret This comes from PR5359. llvm-svn: 92381
-
Chris Lattner authored
llvm-svn: 92380
-
Douglas Gregor authored
class), provide a suggestion for the type or class found. However, since we can't recover properly in this case, don't provide a fix-it hint. Example: test/FixIt/typo.m:8:3: error: use of undeclared identifier 'NSstring'; did you mean 'NSString'? NSstring *str = @"A string"; ... ^ 1 diagnostic generated. llvm-svn: 92379
-
Ted Kremenek authored
llvm-svn: 92378
-
Chris Lattner authored
llvm-svn: 92377
-
Douglas Gregor authored
test/FixIt/typo.c:19:4: error: field designator 'bunds' does not refer to any field in type 'struct Window'; did you mean 'bounds'? .bunds. ^~~~~ bounds llvm-svn: 92376
-
Chris Lattner authored
llvm-svn: 92375
-
Ted Kremenek authored
llvm-svn: 92374
-
- Dec 31, 2009
-
-
Chris Lattner authored
This allows us to optimize test12 into: define i32 @test12(i32 %X) { %factor = mul i32 %X, -3 ; <i32> [#uses=1] %Z = add i32 %factor, 6 ; <i32> [#uses=1] ret i32 %Z } instead of: define i32 @test12(i32 %X) { %Y = sub i32 6, %X ; <i32> [#uses=1] %C = sub i32 %Y, %X ; <i32> [#uses=1] %Z = sub i32 %C, %X ; <i32> [#uses=1] ret i32 %Z } llvm-svn: 92373
-
Chris Lattner authored
sorted, so we can just do a linear scan. llvm-svn: 92372
-
Anders Carlsson authored
llvm-svn: 92371
-
Chris Lattner authored
llvm-svn: 92370
-
Chris Lattner authored
llvm-svn: 92369
-
Chris Lattner authored
fix RemoveDeadBinaryOp to actually do something. llvm-svn: 92368
-
Anders Carlsson authored
llvm-svn: 92367
-
Chris Lattner authored
instead of std::vector. llvm-svn: 92366
-
Anders Carlsson authored
Make sure that an overriding return type is complete before checking if it's covariant. Fixes PR5920. llvm-svn: 92365
-
Chris Lattner authored
llvm-svn: 92364
-
Chris Lattner authored
improve some comments, simplify a bit of code. llvm-svn: 92363
-
Chris Lattner authored
llvm-svn: 92362
-
Anders Carlsson authored
Remove rtti.cpp, it's very fragile and has been marked XFAIL for a while now. Between rtti-layout.cpp and rtti-linkage.cpp, RTTI testing should be covered. llvm-svn: 92361
-
Anders Carlsson authored
llvm-svn: 92360
-
Benjamin Kramer authored
warning: comparison between signed and unsigned integer expressions llvm-svn: 92359
-
Benjamin Kramer authored
llvm-svn: 92358
-
Benjamin Kramer authored
llvm-svn: 92357
-
Douglas Gregor authored
test/FixIt/typo.cpp:41:15: error: initializer 'base' does not name a non-static data member or base class; did you mean the base class 'Base'? Derived() : base(), ^~~~ Base test/FixIt/typo.cpp:42:15: error: initializer 'ember' does not name a non-static data member or base class; did you mean the member 'member'? ember() { } ^~~~~ member llvm-svn: 92355
-
Chris Lattner authored
miscompilation, PR5458. llvm-svn: 92354
-
Chris Lattner authored
llvm-svn: 92353
-
Chris Lattner authored
llvm-svn: 92352
-
Douglas Gregor authored
llvm-svn: 92351
-
Douglas Gregor authored
typo.cpp:18:1: error: use of undeclared identifier 'other_std'; did you mean 'otherstd'? other_std::strng str1; ^~~~~~~~~ otherstd llvm-svn: 92350
-
Chris Lattner authored
llvm-svn: 92349
-
Douglas Gregor authored
typo.cpp:27:8: error: no template named 'basic_sting' in namespace 'std'; did you mean 'basic_string'? std::basic_sting<char> b2; ~~~~~^~~~~~~~~~~ basic_string llvm-svn: 92348
-
Chris Lattner authored
llvm-svn: 92347
-
Chris Lattner authored
llvm-svn: 92346
-
Douglas Gregor authored
s.fnd("hello") llvm-svn: 92345
-
Chris Lattner authored
llvm-svn: 92344
-
Chris Lattner authored
llvm-svn: 92343
-
Zhongxing Xu authored
Add new states for symbolic regions tracked by malloc checker. This enables us to do malloc checking more accurately. See test case. Based on Lei Zhang's patch and discussion. llvm-svn: 92342
-
Douglas Gregor authored
typo.cpp:22:10: error: use of undeclared identifier 'radious'; did you mean 'radius'? return radious * pi; ^~~~~~~ radius This was super-easy, since we already had decent recovery by looking for names in dependent base classes. llvm-svn: 92341
-