- Feb 15, 2009
-
-
Evan Cheng authored
llvm-svn: 64582
-
Evan Cheng authored
Fix pr3571: If stride is a value defined by an instruction, make sure it dominates the loop preheader. When IV users are strength reduced, the stride is inserted into the preheader. It could create a use before def situation. llvm-svn: 64579
-
Evan Cheng authored
llvm-svn: 64575
-
Mikhail Glushenkov authored
"system() declared with attribute warn_unused_result." llvm-svn: 64574
-
Mikhail Glushenkov authored
llvm-svn: 64573
-
- Feb 14, 2009
-
-
Cedric Venet authored
Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. llvm-svn: 64554
-
Duncan Sands authored
intrinsics to any IntrWriteArgMem intrinsics. llvm-svn: 64551
-
Dan Gohman authored
llvm-svn: 64535
-
Dan Gohman authored
- Test for signed and unsigned wrapping conditions, instead of just testing for non-negative induction ranges. - Handle loops with GT comparisons, in addition to LT comparisons. - Support more cases of induction variables that don't start at 0. llvm-svn: 64532
-
Dan Gohman authored
llvm-svn: 64531
-
Dan Gohman authored
No functionality change. llvm-svn: 64530
-
- Feb 13, 2009
-
-
Evan Cheng authored
llvm-svn: 64496
-
Dan Gohman authored
printing getName(), so that unnamed values are printed correctly. llvm-svn: 64468
-
Dan Gohman authored
about the code it describes, but at least now the comment is right. llvm-svn: 64465
-
Duncan Sands authored
it only reads memory! The other change has no functional effect, it just seems more logical to go in order of decreasing knowledge. llvm-svn: 64463
-
Nick Lewycky authored
llvm-svn: 64460
-
Nick Lewycky authored
mark the first argument nocapture if endptr=NULL for each particular call. llvm-svn: 64453
-
Duncan Sands authored
link-time failures when building with optimization. Just get rid of them. llvm-svn: 64449
-
Evan Cheng authored
llvm-svn: 64448
-
Evan Cheng authored
llvm-svn: 64444
-
Nick Lewycky authored
Make sure the SCC pass manager initializes any contained function pass managers. Without this, simplify-libcalls would add nocapture attributes when run on its own, but not when run as part of -std-compile-opts or similar. llvm-svn: 64443
-
Nick Lewycky authored
couldn't ever be the return of call instruction. However, it's quite possible that said local allocation is itself the return of a function call. That's what malloc and calloc are for, actually. llvm-svn: 64442
-
Dan Gohman authored
addrec in a different loop to check the value being added to the accumulated Start value, not the Start value before it has the new value added to it. This prevents LSR from going crazy on the included testcase. Dale, please review. llvm-svn: 64440
-
Dale Johannesen authored
llvm-svn: 64438
-
Dale Johannesen authored
There were some that might even matter in X86FastISel. llvm-svn: 64437
-
Dale Johannesen authored
llvm-svn: 64436
-
Dale Johannesen authored
llvm-svn: 64435
-
Dale Johannesen authored
llvm-svn: 64433
-
Dale Johannesen authored
llvm-svn: 64432
-
Dale Johannesen authored
llvm-svn: 64431
-
Dale Johannesen authored
llvm-svn: 64430
-
Dale Johannesen authored
llvm-svn: 64429
-
Bill Wendling authored
llvm-svn: 64428
-
Bill Wendling authored
the new way, where all of the information is passed on SDNodes and machine instructions. llvm-svn: 64427
-
Dan Gohman authored
after sorting by stride value. This prevents it from missing IV reuse opportunities in a host-sensitive manner. llvm-svn: 64415
-
Dale Johannesen authored
llvm-svn: 64410
-
Dale Johannesen authored
Modify callers. llvm-svn: 64409
-
- Feb 12, 2009
-
-
Dan Gohman authored
loop induction on LP64 targets. When the induction variable is used in addressing, IndVars now is usually able to inserst a 64-bit induction variable and eliminates the sign-extending cast. This is also useful for code using C "short" types for induction variables on targets with 32-bit addressing. Inserting a wider induction variable is easy; the tricky part is determining when trunc(sext(i)) expressions are no-ops. This requires range analysis of the loop trip count. A common case is when the original loop iteration starts at 0 and exits when the induction variable is signed-less-than a fixed value; this case is now handled. This replaces IndVarSimplify's OptimizeCanonicalIVType. It was doing the same optimization, but it was limited to loops with constant trip counts, because it was running after the loop rewrite, and the information about the original induction variable is lost by that point. Rename ScalarEvolution's executesAtLeastOnce to isLoopGuardedByCond, generalize it to be able to test for ICMP_NE conditions, and move it to be a public function so that IndVars can use it. llvm-svn: 64407
-
Nate Begeman authored
type of the vectors being shuffled. llvm-svn: 64401
-
Dale Johannesen authored
in inline asm as signed (what gcc does). Add partial support for x86-specific "e" and "Z" constraints, with appropriate signedness for printing. llvm-svn: 64400
-