- Aug 28, 2010
-
-
Johnny Chen authored
o Fixed a crasher when getting it via SBTarget.GetExecutable(). >>> filespec = target.GetExecutable() Segmentation fault o And renamed SBFileSpec::GetFileName() to GetFilename() to be consistent with FileSpec::GetFilename(). llvm-svn: 112308
-
-
Tom Care authored
Add alternate version of LiveVariables analysis that does not kill liveness at assignments. This 'relaxed' liveness is useful in path sensitive analysis for situations where the resulting extended liveness allows us to find some bugs. - Added killAtAssign flag to LiveVariables - Added relaxed LiveVariables to AnalysisContext with an accessor llvm-svn: 112306
-
Devang Patel authored
llvm-svn: 112305
-
Chris Lattner authored
framework, which is good at ripping through bitfield operations. This generalize a bunch of the existing xforms that instcombine does, such as (x << c) >> c -> and to handle intermediate logical nodes. This is useful for ripping up the "promote to large integer" code produced by SRoA. llvm-svn: 112304
-
- Aug 27, 2010
-
-
Ted Kremenek authored
llvm-svn: 112303
-
Bob Wilson authored
llvm-svn: 112302
-
Greg Clayton authored
swaps on the variable list, value object list, and disassembly. This avoids us having to try and update frame indexes and other things that were getting out of sync. llvm-svn: 112301
-
Bob Wilson authored
llvm-svn: 112300
-
Dan Gohman authored
adjacent operands at once, instead of just two at a time. llvm-svn: 112299
-
Douglas Gregor authored
Improve wording of diagnostic complaining about a non-void* pointer as the first parameter of operator delete llvm-svn: 112298
-
Eric Christopher authored
Patch by Cameron Esfahani! llvm-svn: 112297
-
Ted Kremenek authored
Implement CXCursor support for walking C++ base specifiers. This includes adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier. Implements <rdar://problem/8274883>. llvm-svn: 112296
-
Ted Kremenek authored
llvm-svn: 112295
-
Douglas Gregor authored
member function you're typing in overrides another virtual function, this fills in a (qualified!) call to that virtual function to make such delegation easy. llvm-svn: 112294
-
Johnny Chen authored
llvm-svn: 112293
-
Douglas Gregor authored
llvm-svn: 112292
-
Chris Lattner authored
more general simplify demanded bits logic. llvm-svn: 112291
-
Dan Gohman authored
transformation collect all the addrecs with the same loop add combine them at once rather than starting everything over at the first chance. llvm-svn: 112290
-
Chris Lattner authored
llvm-svn: 112289
-
Chris Lattner authored
llvm-svn: 112288
-
Bill Wendling authored
llvm-svn: 112287
-
Owen Anderson authored
llvm-svn: 112286
-
Chris Lattner authored
computation can be truncated if it is fed by a sext/zext that doesn't have to be exactly equal to the truncation result type. llvm-svn: 112285
-
Howard Hinnant authored
llvm-svn: 112284
-
Chris Lattner authored
llvm-svn: 112283
-
John McCall authored
we don't see a DeclStmt (failure to instantiate which generally causes panic). llvm-svn: 112282
-
Dan Gohman authored
to DenseMap. llvm-svn: 112281
-
Chris Lattner authored
llvm-svn: 112280
-
Chris Lattner authored
by the SRoA "promote to large integer" code, eliminating some type conversions like this: %94 = zext i16 %93 to i32 ; <i32> [#uses=2] %96 = lshr i32 %94, 8 ; <i32> [#uses=1] %101 = trunc i32 %96 to i8 ; <i8> [#uses=1] This also unblocks other xforms from happening, now clang is able to compile: struct S { float A, B, C, D; }; float foo(struct S A) { return A.A + A.B+A.C+A.D; } into: _foo: ## @foo ## BB#0: ## %entry pshufd $1, %xmm0, %xmm2 addss %xmm0, %xmm2 movdqa %xmm1, %xmm3 addss %xmm2, %xmm3 pshufd $1, %xmm1, %xmm0 addss %xmm3, %xmm0 ret on x86-64, instead of: _foo: ## @foo ## BB#0: ## %entry movd %xmm0, %rax shrq $32, %rax movd %eax, %xmm2 addss %xmm0, %xmm2 movapd %xmm1, %xmm3 addss %xmm2, %xmm3 movd %xmm1, %rax shrq $32, %rax movd %eax, %xmm0 addss %xmm3, %xmm0 ret This seems pretty close to optimal to me, at least without using horizontal adds. This also triggers in lots of other code, including SPEC. llvm-svn: 112278
-
Greg Clayton authored
instead of trying to maintain the real frame list (unwind frames) and an inline frame list. The information is cheap to produce when we already have looked up a block and was making stack frame uniquing difficult when trying to use the previous stack when making the current stack. We now maintain the previous value object lists for common frames between a previous and current frames so we will be able to tell when variable values change. llvm-svn: 112277
-
Johnny Chen authored
and process. Added comment within the file about issues of using LaunchProcess of SBTarget to launch a process (rdar://problem/8364687). llvm-svn: 112276
-
Devang Patel authored
Patch originally by Alexander Herz. llvm-svn: 112275
-
Douglas Gregor authored
declarator, the very definition of "low-hanging fruit". llvm-svn: 112274
-
Bob Wilson authored
types of the pointer address expressions used with those intrinsics. llvm-svn: 112272
-
Bob Wilson authored
Update all the tests using those intrinsics and add support for auto-upgrading bitcode files with the old versions of the intrinsics. llvm-svn: 112271
-
Owen Anderson authored
Use LVI to eliminate conditional branches where we've tested a related condition previously. Update tests for this change. This fixes PR5652. llvm-svn: 112270
-
Dan Gohman authored
the main file isn't an included file, and the IncludePos is always SourceLocation(). llvm-svn: 112269
-
Douglas Gregor authored
priority boost to methods with the same selector. llvm-svn: 112268
-
Dan Gohman authored
return to avoid needing two calls to test for equivalence, and sort addrecs by their degree before examining their operands. llvm-svn: 112267
-