- Jan 12, 2008
-
-
Chris Lattner authored
llvm-svn: 45917
-
Chris Lattner authored
llvm-svn: 45915
-
Chris Lattner authored
llvm-svn: 45914
-
Evan Cheng authored
llvm-svn: 45913
-
Chris Lattner authored
inlining a function if we know that the function does not write to *any* memory. This implements test/Transforms/Inline/byval2.ll llvm-svn: 45912
-
Evan Cheng authored
llvm-svn: 45911
-
Chris Lattner authored
of const char, and it should error if it occurs outside a function. Is it valid in an objc method? If so we should handle that too. llvm-svn: 45910
-
Duncan Sands authored
allowed on the vararg arguments of a call. llvm-svn: 45909
-
Chris Lattner authored
Eli Friedman! llvm-svn: 45906
-
Chris Lattner authored
llvm-svn: 45905
-
Chris Lattner authored
extern "C" in C++ mode. Patch by Mike Stump! llvm-svn: 45904
-
Chris Lattner authored
the inliner pass. Patch by Robert Zeh. llvm-svn: 45903
-
Chris Lattner authored
llvm-svn: 45902
-
Chris Lattner authored
verify that the source range corresponds to the current file, not just the current line. This allows us to emit: a.c:1:44: error: invalid operands to binary expression ('double' and 'int *') double a; int *b; void f(void) { int c = a + ~ ^ instead of: a.c:1:44: error: invalid operands to binary expression ('double' and 'int *') double a; int *b; void f(void) { int c = a + ~ ~ ^ for PR1906 (note the leading ~). Thanks to Neil for noticing this. llvm-svn: 45901
-
Evan Cheng authored
llvm-svn: 45900
-
Chris Lattner authored
llvm-svn: 45899
-
Evan Cheng authored
llvm-svn: 45898
-
Evan Cheng authored
ByVal arguments are passed on stack. Make sure to allocate a slot using size and alignment information on the parameter attribute. llvm-svn: 45897
-
Chris Lattner authored
llvm-svn: 45896
-
Chris Lattner authored
This allows us to sink things like: cvtsi2sd 32(%esp), %xmm1 when reading from the argument area, for example. llvm-svn: 45895
-
Chris Lattner authored
has no stores between the load and the end of block. This works great and sinks hundreds of stores, but we can't turn it on because machineinstrs don't have volatility information and we don't want to sink volatile stores :( llvm-svn: 45894
-
Chris Lattner authored
llvm-svn: 45893
-
Duncan Sands authored
attributes on the vararg call arguments are also dropped. llvm-svn: 45892
-
Evan Cheng authored
llvm-svn: 45891
-
Chris Lattner authored
just xfail it. llvm-svn: 45890
-
Chris Lattner authored
llvm-svn: 45888
-
- Jan 11, 2008
-
-
Duncan Sands authored
parameter, even if it is a varargs function. Do allow attributes on the varargs part of a call, but not beyond the last argument. Only allow selected attributes to be on the varargs part of a call (currently only 'byval' is allowed). The reasoning here is that most attributes, eg inreg, simply make no sense here. llvm-svn: 45887
-
Chris Lattner authored
get away with it, which exposes opportunities to eliminate the memory objects entirely. For example, we now compile byval.ll to: define internal void @f1(i32 %b.0, i64 %b.1) { entry: %tmp2 = add i32 %b.0, 1 ; <i32> [#uses=0] ret void } define i32 @main() nounwind { entry: call void @f1( i32 1, i64 2 ) ret i32 0 } This seems like it would trigger a lot for code that passes around small structs (e.g. SDOperand's or _Complex)... llvm-svn: 45886
-
Duncan Sands authored
llvm-svn: 45885
-
Duncan Sands authored
call, don't discard them. llvm-svn: 45884
-
Scott Michel authored
- struct_2.ll: Completely unaligned load/store testing - call_indirect.ll, struct_1.ll: Add test lines to exercise X-form [$reg($reg)] addressing At this point, loads and stores should be under control (he says in an optimistic tone of voice.) llvm-svn: 45882
-
Dale Johannesen authored
llvm-svn: 45881
-
Ted Kremenek authored
Do not use std::cerr; use llvm::cerr instead. Patch provided by Sam Bishop! llvm-svn: 45880
-
Chris Lattner authored
llvm-svn: 45878
-
Chris Lattner authored
llvm-svn: 45877
-
Chris Lattner authored
whether an argument is byval and pass into isSafeToPromoteArgument. llvm-svn: 45876
-
Chris Lattner authored
llvm-svn: 45875
-
Chris Lattner authored
llvm-svn: 45874
-
Chris Lattner authored
llvm-svn: 45873
-
Chris Lattner authored
llvm-svn: 45872
-