- Sep 13, 2008
-
-
Duncan Sands authored
Treat stores as reading memory, just to play safe. llvm-svn: 56188
-
Ted Kremenek authored
"Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch covers the AST library, but ignores Analysis lib." llvm-svn: 56185
-
Evan Cheng authored
llvm-svn: 56184
-
Dan Gohman authored
Currently it just holds the calling convention and flags for isVarArgs and isTailCall. And it has several utility methods, which eliminate magic 5+2*i and similar index computations in several places. CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle nodes that are not CSE'd gracefully. llvm-svn: 56183
-
Evan Cheng authored
llvm-svn: 56182
-
Evan Cheng authored
llvm-svn: 56181
-
Evan Cheng authored
llvm-svn: 56180
-
Evan Cheng authored
llvm-svn: 56179
-
Evan Cheng authored
llvm-svn: 56178
-
Ted Kremenek authored
llvm-svn: 56177
-
Evan Cheng authored
llvm-svn: 56176
-
Ted Kremenek authored
llvm-svn: 56173
-
Evan Cheng authored
llvm-svn: 56172
-
Evan Cheng authored
llvm-svn: 56171
-
- Sep 12, 2008
-
-
Duncan Sands authored
llvm-svn: 56170
-
Daniel Dunbar authored
- llvmc2, save me! llvm-svn: 56169
-
Daniel Dunbar authored
have no mapping to FILE*). We are also missing printf format attributes for the printf style ones. llvm-svn: 56168
-
Daniel Dunbar authored
llvm-svn: 56167
-
Ted Kremenek authored
llvm-svn: 56166
-
Evan Cheng authored
vr2 = OR vr0, vr1 => vr2 = OR vr1, vr1 // after coalescing vr0 with vr1 Update the value# of the destination register with the copy instruction if that happens. llvm-svn: 56165
-
Daniel Dunbar authored
llvm-svn: 56164
-
Daniel Dunbar authored
- For investigating warnings in system headers / builtins. - Currently also enables the behavior that allows silent redefinition of types in system headers. Conceptually these are separate but I didn't feel it was worth two options (or changing LangOptions). llvm-svn: 56163
-
Dan Gohman authored
ConstantFP* instead of APInt and APFloat directly. This reduces the amount of time to create ConstantSDNode and ConstantFPSDNode nodes when ConstantInt* and ConstantFP* respectively are already available, as is the case in SelectionDAGBuild.cpp. Also, it reduces the amount of time to legalize constants into constant pools, and the amount of time to add ConstantFP operands to MachineInstrs, due to eliminating ConstantInt::get and ConstantFP::get calls. It increases the amount of work needed to create new constants in cases where the client doesn't already have a ConstantInt* or ConstantFP*, such as legalize expanding 64-bit integer constants to 32-bit constants. And it adds a layer of indirection for the accessor methods. But these appear to be outweight by the benefits in most cases. It will also make it easier to make ConstantSDNode and ConstantFPNode more consistent with ConstantInt and ConstantFP. llvm-svn: 56162
-
Dale Johannesen authored
representation; coalescer and RA need to know about it. No functional change. llvm-svn: 56161
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
Duncan Sands authored
I placed it just before GVN because that it is the pass most likely to benefit from it. Some quick and dirty testing confirms that this is a decent place for it. llvm-svn: 56144
-
Duncan Sands authored
when a readonly declaration is called, set a flag. This is faster and uses less memory. In theory it is less accurate, because before only those internal globals that were read by someone were being marked "Ref", but now all are. But in practice, thanks to other passes, all internal globals of the kind considered here will be both read and stored to: those only read will have been turned into constants, and those only stored to will have been deleted. llvm-svn: 56143
-
Ted Kremenek authored
llvm-svn: 56142
-
Douglas Gregor authored
Give string literals const element typesin C++, and cope with the deprecated C++ conversion from a string literal to a pointer-to-non-const-character llvm-svn: 56137
-
Dale Johannesen authored
safe in the presence of NaNs. llvm-svn: 56136
-
Daniel Dunbar authored
- Follow C99 behavior of using other operand type when one of operands is a null pointer constant. - Fix overenthusiastic devolving of any Objective-C types to id: o If either operand has an Objective-C object type then: - If both operands are interfaces and either operand can be assigned to the other, use that type as the composite type. - Otherwise, if either type is id, use id as the composite type. - Otherwise, warn about incompatible types and use id as the composite type. - Return handling of qualified idea to separate test following general pointer type checking. o Upgraded from old code to allow devolving to id (without warning, which matches GCC). - <rdar://problem/6212771> Add test case for issues fixed above, XFAIL though because it exposed a new issue in property handling. llvm-svn: 56135
-
Argyrios Kyrtzidis authored
Add comments about C++ clause 3.3.2p4 that mentions that the condition declaration should be local to an if/switch/while/for statement. llvm-svn: 56134
-
Dan Gohman authored
getelementptr indices, inserting an explicit cast if necessary. This helps expose the sign-extension operation to other optimizations. llvm-svn: 56133
-
Ted Kremenek authored
to an output file. This way users can both see the output of 'clang' as well as enable background logging of files that clang encounters problems on. llvm-svn: 56130
-
Dan Gohman authored
Patch by Nicolas Capens! llvm-svn: 56129
-
Arnold Schwaighofer authored
llvm-svn: 56127
-
- Sep 11, 2008
-
-
Jim Grosbach authored
llvm-svn: 56126
-
rdar://problem/6164367Ted Kremenek authored
scan-build now correctly processes path prefixes that contain multiple '+' characters or other regex control characters. llvm-svn: 56121
-
Arnold Schwaighofer authored
When tailcallopt is enabled all fastcc calls must have an aligned argument stack size. Add a test case. llvm-svn: 56119
-
Evan Cheng authored
Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g. vr1024 = extract_subreg vr1025, 1 ... vr1024 = mov8rr AH If vr1024 is coalesced with AH, the extract_subreg is now illegal since AH does not have a super-reg whose sub-register 1 is AH. llvm-svn: 56118
-