- May 16, 2010
-
-
Fariborz Jahanian authored
llvm-svn: 103889
-
Howard Hinnant authored
llvm-svn: 103888
-
Fariborz Jahanian authored
in Objective-c++ mode. Fixes radar 7986354. llvm-svn: 103887
-
- May 15, 2010
-
-
Howard Hinnant authored
llvm-svn: 103886
-
Dale Johannesen authored
The implementation in LegalizeIntegerTypes to handle this as sint64->float + appropriate power of 2 is subject to double rounding, considered incorrect by numerics people. Use this implementation only when it is safe. This leads to using library calls in some cases that produced inline code before, but it's correct now. (EVTToAPFloatSemantics belongs somewhere else, any suggestions?) Add a correctly rounding (though not particularly fast) conversion that uses X87 80-bit computations for x86-32. 7885399, 5901940. This shows up in gcc.c-torture/execute/ieee/rbug.c in the gcc testsuite on some platforms. llvm-svn: 103883
-
Dale Johannesen authored
llvm-svn: 103882
-
Anton Korobeynikov authored
This can be extended later on to handle more "complex" constants. llvm-svn: 103881
-
Douglas Gregor authored
__cxa_guard_abort along the exceptional edge into (in effect) a nested "try" that rethrows after aborting. Fixes PR7144 and the remaining Boost.ProgramOptions failures. llvm-svn: 103880
-
Douglas Gregor authored
llvm-svn: 103879
-
Anton Korobeynikov authored
Temporary emit it as raw bytes until it will be added to binutils as well. llvm-svn: 103878
-
Chris Lattner authored
Evzen Muller! llvm-svn: 103877
-
Chris Lattner authored
patch by Evzen Muller! llvm-svn: 103876
-
John McCall authored
llvm-svn: 103875
-
Chris Lattner authored
llvm-svn: 103874
-
Chris Lattner authored
llvm-svn: 103873
-
Douglas Gregor authored
destroy the variable along the exceptional edge; it's only during normal execution that we avoid destroying this variable. llvm-svn: 103872
-
John McCall authored
ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. llvm-svn: 103870
-
Chandler Carruth authored
a condition's grouping. Every other use of Allocatable.test(Hint) groups it the same way as it is indented, so move the parentheses to agree with that grouping. llvm-svn: 103869
-
Evan Cheng authored
llvm-svn: 103868
-
Douglas Gregor authored
return statements. We perform NRVO only when all of the return statements in the function return the same variable. Fixes some link failures in Boost.Interprocess (which is relying on NRVO), and probably improves performance for some C++ applications. llvm-svn: 103867
-
Jakob Stoklund Olesen authored
When working top-down in a basic block, substituting physregs for virtregs, the use-def chains are kept up to date. That means we can recognize a virtreg kill by the use-def chain becoming empty. This makes the fast allocator independent of incoming kill flags. llvm-svn: 103866
-
Douglas Gregor authored
return value optimization. Sema marks return statements with their NRVO candidates (which may or may not end up using the NRVO), then, at the end of a function body, computes and marks those variables that can be allocated into the return slot. I've checked this locally with some debugging statements (not committed), but there won't be any tests until CodeGen comes along. llvm-svn: 103865
-
Chris Lattner authored
implicit conversions where needed. This fixes an error reported on cfe-dev, not really worth a testcase though. llvm-svn: 103864
-
Nick Lewycky authored
inliner did in r103653. Why does the always inliner even bother with cost estimates anyways? llvm-svn: 103858
-
Nick Lewycky authored
llvm-svn: 103857
-
Jakob Stoklund Olesen authored
llvm-svn: 103856
-
Evan Cheng authored
llvm-svn: 103855
-
Evan Cheng authored
allow target to override it in order to map register classes to illegal but synthesizable types. e.g. v4i64, v8i64 for ARM / NEON. llvm-svn: 103854
-
-
Evan Cheng authored
llvm-svn: 103851
-
Evan Cheng authored
llvm-svn: 103850
-
Douglas Gregor authored
"return" statement and mark the corresponding CXXConstructExpr as elidable. Teach CodeGen that eliding a temporary is different from eliding an object construction. This is just a baby step toward NRVO. llvm-svn: 103849
-
Daniel Dunbar authored
llvm-svn: 103843
-
Daniel Dunbar authored
llvm-svn: 103842
-
-
Evan Cheng authored
instructions. e.g. %reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0 %reg1027<def> = EXTRACT_SUBREG %reg1026, 6 %reg1028<def> = EXTRACT_SUBREG %reg1026<kill>, 5 ... %reg1029<def> = REG_SEQUENCE %reg1028<kill>, 5, %reg1027<kill>, 6, %reg1028, 7, %reg1027, 8, %reg1028, 9, %reg1027, 10, %reg1030<kill>, 11, %reg1032<kill>, 12 After REG_SEQUENCE is eliminated, we are left with: %reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0 %reg1029:6<def> = EXTRACT_SUBREG %reg1026, 6 %reg1029:5<def> = EXTRACT_SUBREG %reg1026<kill>, 5 The regular coalescer will not be able to coalesce reg1026 and reg1029 because it doesn't know how to combine sub-register indices 5 and 6. Now 2-address pass will consult the target whether sub-registers 5 and 6 of reg1026 can be combined to into a larger sub-register (or combined to be reg1026 itself as is the case here). If it is possible, it will be able to replace references of reg1026 with reg1029 + the larger sub-register index. llvm-svn: 103835
-
Dan Gohman authored
llvm-svn: 103834
-
Evan Cheng authored
llvm-svn: 103833
-
Dan Gohman authored
setting kill flags. llvm-svn: 103832
-
Jakob Stoklund Olesen authored
llvm-svn: 103831
-