- Jan 30, 2011
-
-
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
-
Anders Carlsson authored
When doing a derived-to-base class through a virtual class, we don't have to get the vbase offset from the vtable if the derived class is marked final. llvm-svn: 124523
-
Evan Cheng authored
llvm-svn: 124522
-
Jim Ingham authored
llvm-svn: 124521
-
Jim Ingham authored
Added a completion action class to the Process events so that we can make things like Attach and later Launch start their job, and then return to the event loop while waiting for the work to be done. llvm-svn: 124520
-