- Jan 30, 2011
-
-
Greg Clayton authored
and implemented it for the EmulateInstructionARM class. llvm-svn: 124563
-
Greg Clayton authored
of the EmulateInstruction class. llvm-svn: 124562
-
Duncan Sands authored
by PR9088 fixes things. llvm-svn: 124561
-
Duncan Sands authored
to do this and more, but would only do it if X/Y had only one use. Spotted as the most common missed simplification in SPEC by my auto-simplifier, now that it knows about nuw/nsw/exact flags. This removes a bunch of multiplications from 447.dealII and 483.xalancbmk. It also removes a lot from tramp3d-v4, which results in much more inlining. llvm-svn: 124560
-
Benjamin Kramer authored
Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off. This happens all the time when a smul is promoted to a larger type. On x86-64 we now compile "int test(int x) { return x/10; }" into movslq %edi, %rax imulq $1717986919, %rax, %rax movq %rax, %rcx shrq $63, %rcx sarq $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax" addl %ecx, %eax This fires 96 times in gcc.c on x86-64. llvm-svn: 124559
-
Roman Divacky authored
invocation. This mimics what gcc does and fixes libtool check for libraries. llvm-svn: 124558
-
Nick Lewycky authored
llvm-svn: 124557
-
Nick Lewycky authored
llvm-svn: 124556
-
- Jan 29, 2011
-
-
Anders Carlsson authored
llvm-svn: 124555
-
Anders Carlsson authored
llvm-svn: 124554
-
Anders Carlsson authored
When emitting RTTI for a non-class type, compute the visibility of the RTTI data based on the explicit visibility of the type. llvm-svn: 124553
-
Bill Wendling authored
llvm-svn: 124552
-
Nico Weber authored
llvm-svn: 124551
-
Anders Carlsson authored
llvm-svn: 124550
-
Anders Carlsson authored
I'm still not sure if having the typenames be visible with -hidden-weak-vtables, but I think it makes sense. llvm-svn: 124549
-
Anders Carlsson authored
Set the visibility for typeinfo names. llvm-svn: 124548
-
Nick Lewycky authored
This is the one where one of the branches of the select is another select on the same condition. llvm-svn: 124547
-
Anders Carlsson authored
Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag. llvm-svn: 124546
-
Francois Pichet authored
The DEBUG() call at line 606 demands to see raw_ostream's definition. I have no idea why this seems to only break MSVC. llvm-svn: 124545
-
Nick Lewycky authored
llvm-svn: 124544
-
Anders Carlsson authored
llvm-svn: 124543
-
Anders Carlsson authored
llvm-svn: 124542
-
Anders Carlsson authored
llvm-svn: 124541
-
Anders Carlsson authored
llvm-svn: 124540
-
Anders Carlsson authored
Make emitting a VTT a two-step process, much like emitting a VTable. You first get the address of the VTT, and then pass it to EmitVTTDefinition. llvm-svn: 124539
-
Anders Carlsson authored
llvm-svn: 124538
-
Anders Carlsson authored
Add a new function, to be used by CGRTTI, CGVTables and CGVTT (which each has their own copy of this code). llvm-svn: 124537
-
Ken Dyck authored
llvm-svn: 124536
-
Frits van Bommel authored
llvm-svn: 124535
-
Frits van Bommel authored
llvm-svn: 124534
-
Duncan Sands authored
llvm-svn: 124533
-
Benjamin Kramer authored
This happens e.g. for code like "X - X%10" where we lower the modulo operation to a series of multiplies and shifts that are then subtracted from X, leading to this missed optimization. llvm-svn: 124532
-
Greg Clayton authored
llvm-svn: 124531
-
Greg Clayton authored
by name or by pid (with or without waiting for a process to launch) and catch the response asynchronously. llvm-svn: 124530
-
Anders Carlsson authored
llvm-svn: 124529
-
Anders Carlsson authored
When trying to get the most derived class, don't assume that we can ignore all casts. We can only ignore derived-to-base and no-op casts. Fixes selfhost. llvm-svn: 124528
-
Evan Cheng authored
llvm-svn: 124527
-
Evan Cheng authored
llvm-svn: 124526
-
Jim Ingham authored
llvm-svn: 124525
-
Anders Carlsson authored
When calling a virtual member function on a base class and the most derived class is marked 'final', we can devirtualize the call. llvm-svn: 124524
-