- Jan 01, 2010
-
-
Chris Lattner authored
multiply sequence when the power is a constant integer. Before, our codegen for std::pow(.., int) always turned into a libcall, which was really inefficient. This should also make many gfortran programs happier I'd imagine. llvm-svn: 92388
-
Chris Lattner authored
llvm-svn: 92387
-
Mike Stump authored
llvm-svn: 92386
-
Mike Stump authored
llvm-svn: 92385
-
Chris Lattner authored
llvm-svn: 92384
-
Chris Lattner authored
llvm-svn: 92383
-
Chris Lattner authored
on integers as well and codegen should lower them to branch trees. llvm-svn: 92382
-
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
-