- Aug 14, 2007
-
-
Evan Cheng authored
If a MI's def is remat as well as spilled, and the store is later deemed dead, mark the def operand as isDead. llvm-svn: 41083
-
Devang Patel authored
llvm-svn: 41082
-
Owen Anderson authored
they're not related to eliminating a load. llvm-svn: 41081
-
Owen Anderson authored
llvm-svn: 41080
-
Ted Kremenek authored
llvm-svn: 41079
-
Owen Anderson authored
llvm-svn: 41078
-
Owen Anderson authored
the function. llvm-svn: 41077
-
Ted Kremenek authored
family of functions. Previous functionality only included checking to see if the format string was a string literal. Now we check parse the format string (if it is a literal) and perform the following checks: (1) Warn if: number conversions (e.g. "%d") != number data arguments. (2) Warn about missing format strings (e.g., "printf()"). (3) Warn if the format string is not a string literal. (4) Warn about the use se of '%n' conversion. This conversion is discouraged for security reasons. (5) Warn about malformed conversions. For example '%;', '%v'; these are not valid. (6) Warn about empty format strings; e.g. printf(""). Although these can be optimized away by the compiler, they can be indicative of broken programmer logic. We may need to add additional support to see when such cases occur within macro expansion to avoid false positives. (7) Warn if the string literal is wide; e.g. L"%d". (8) Warn if we detect a '\0' character WITHIN the format string. Test cases are included. llvm-svn: 41076
-
Devang Patel authored
llvm-svn: 41075
-
Devang Patel authored
llvm-svn: 41074
-
Chris Lattner authored
llvm-svn: 41073
-
Chris Lattner authored
using the count script instead of wc -l llvm-svn: 41072
-
Evan Cheng authored
llvm-svn: 41070
-
Evan Cheng authored
no more uses within the MBB and the spilled value isn't live out of the MBB. Then it's safe to delete the spill store. llvm-svn: 41069
-
Evan Cheng authored
llvm-svn: 41068
-
Evan Cheng authored
spilled value is available for reuse. llvm-svn: 41067
-
Evan Cheng authored
llvm-svn: 41064
-
Devang Patel authored
llvm-svn: 41063
-
Devang Patel authored
llvm-svn: 41062
-
Evan Cheng authored
llvm-svn: 41061
-
Evan Cheng authored
Re-implement trivial rematerialization. This allows def MIs whose live intervals that are coalesced to be rematerialized. llvm-svn: 41060
-
Evan Cheng authored
llvm-svn: 41059
-
Ted Kremenek authored
getStrData() are not null-terminated, and the lengths of these strings should be determined using getByteLength(). llvm-svn: 41055
-
Devang Patel authored
llvm-svn: 41054
-
Devang Patel authored
llvm-svn: 41053
-
Devang Patel authored
llvm-svn: 41052
-
- Aug 13, 2007
-
-
Devang Patel authored
llvm-svn: 41051
-
Chris Lattner authored
llvm-svn: 41050
-
Dan Gohman authored
see if the base register is already occupied before assuming it can be used. This fixes bogus code generation in the accompanying testcase. llvm-svn: 41049
-
Chris Lattner authored
llvm-svn: 41048
-
Chris Lattner authored
llvm-svn: 41047
-
Chris Lattner authored
Into: inttoptr (i64 0 to i8*) -> null This occurs in the example in PR1602. With this fixed, we now compile the example in PR1602 into fully "devirtualized" code: define void @_Z1g1S(%struct.S* noalias %s) { entry: %tmp131415 = getelementptr %struct.S* %s, i32 0, i32 0 ; <i32 (...)***> [#uses=1] %tmp16 = load i32 (...)*** %tmp131415, align 4 ; <i32 (...)**> [#uses=1] %tmp26277 = load i32 (...)** %tmp16 ; <i32 (...)*> [#uses=1] %tmp2829 = bitcast i32 (...)* %tmp26277 to void (%struct.S*)* ; <void (%struct.S*)*> [#uses=1] tail call void %tmp2829( %struct.S* %s ) ret void } This still has the vtable dispatch (as required) but does not have any pointer to method cruft left. llvm-svn: 41046
-
Evan Cheng authored
llvm-svn: 41043
-
Reid Spencer authored
the list of link time passes to be run, just as for opt, with the -debug-pass=Arguments option. llvm-svn: 41040
-
Reid Spencer authored
llvm-svn: 41039
-
- Aug 12, 2007
-
-
Chris Lattner authored
llvm-svn: 41034
-
Reid Spencer authored
better, gives the compiler a chance to validate the cast and reduces warnings if the user turns on -Wold-style-cast option. llvm-svn: 41033
-
Devang Patel authored
llvm-svn: 41029
-
Reid Spencer authored
llvm-svn: 41028
-
Evan Cheng authored
llvm-svn: 41024
-