- Jan 12, 2008
-
-
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
-
Chris Lattner authored
llvm-svn: 45871
-
Chris Lattner authored
llvm-svn: 45870
-
Chris Lattner authored
llvm-svn: 45869
-
Arnold Schwaighofer authored
Actually were not riding any arguments. Sadly there is no semantic spell checker that is going to safe you from such a mistake. llvm-svn: 45868
-
Arnold Schwaighofer authored
commit all arguments where moved to the stack slot where they would reside on a normal function call before the lowering to the tail call stack slot. This was done to prevent arguments overwriting each other. Now only arguments sourcing from a FORMAL_ARGUMENTS node or a CopyFromReg node with virtual register (could also be a caller's argument) are lowered indirectly. --This line, and those below, will be ignored-- M X86/X86ISelLowering.cpp M X86/README.txt llvm-svn: 45867
-
Ted Kremenek authored
of ProgramPoint. llvm-svn: 45866
-
Arnold Schwaighofer authored
llvm-svn: 45865
-
Evan Cheng authored
llvm-svn: 45864
-
Evan Cheng authored
llvm-svn: 45861
-
Chris Lattner authored
llvm-svn: 45860
-
Chris Lattner authored
llvm-svn: 45859
-