- Mar 11, 2012
-
-
Benjamin Kramer authored
DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings. llvm-svn: 152541
-
Craig Topper authored
llvm-svn: 152538
-
Craig Topper authored
llvm-svn: 152537
-
Craig Topper authored
llvm-svn: 152535
-
Stepan Dyatkovskiy authored
Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. llvm-svn: 152532
-
Michael J. Spencer authored
it would fail with {,u}int64_t on x86-64 Linux. This also removes code duplication. llvm-svn: 152517
-
- Mar 10, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152515
-
Kay Tiong Khoo authored
llvm-svn: 152507
-
Bill Wendling authored
llvm-svn: 152499
-
Bill Wendling authored
The 'CmpInst::isFalseWhenEqual' function returns 'false' for values other than simply equality. For instance, it returns 'false' for <= or >=. This isn't the correct behavior for this transformation, which is checking for strict equality and non-equality. It was causing the gcc.c-torture/execute/frame-address.c test to fail because it would completely (and incorrectly) optimize a whole function into a 'ret i32 0'. llvm-svn: 152497
-
Benjamin Kramer authored
llvm-svn: 152495
-
Benjamin Kramer authored
llvm-svn: 152492
-
Chandler Carruth authored
a common collection of methods on Value, and share their implementation. We had two variations in two different places already, and I need the third variation for inline cost estimation. Reviewed by Duncan Sands on IRC, but further comments here welcome. llvm-svn: 152490
-
Bill Wendling authored
Patch by Kay Tiong Khoo! llvm-svn: 152487
-
Bill Wendling authored
The old way of determine when and where to spill a value that was used inside of a landing pad resulted in spilling that value everywhere and not just at the invoke edge. This algorithm determines which values are used within a landing pad. It then spills those values before the invoke and reloads them before the uses. This should prevent excessive spilling in many cases, e.g. inside of loops. <rdar://problem/10609139> llvm-svn: 152486
-
Jakob Stoklund Olesen authored
llvm-svn: 152460
-
Jakob Stoklund Olesen authored
Somehow we never verified SSA dominance before. llvm-svn: 152458
-
Jakob Stoklund Olesen authored
llvm-svn: 152457
-
Benjamin Kramer authored
llvm-svn: 152454
-
Akira Hatanaka authored
operation action of nodes. llvm-svn: 152452
-
Akira Hatanaka authored
llvm-svn: 152450
-
Jakob Stoklund Olesen authored
All uses of a virtual register must be dominated by its def. llvm-svn: 152449
-
Akira Hatanaka authored
llvm-svn: 152447
-
- Mar 09, 2012
-
-
Andrew Trick authored
And add comments, since this is obviously confusing. llvm-svn: 152445
-
Kevin Enderby authored
llvm-svn: 152443
-
David Meyer authored
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big llvm-svn: 152435
-
Duncan Sands authored
to count the number of phis changed, not the number visited. llvm-svn: 152425
-
Dan Gohman authored
traversal, consider nodes for which the only successors are backedges which the traversal is ignoring to be exit nodes. This fixes a problem where the bottom-up traversal was failing to visit split blocks along split loop backedges. This fixes rdar://10989035. llvm-svn: 152421
-
Kevin Enderby authored
prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
-
Duncan Sands authored
negative switch cases if the branch condition is known to be positive. Inspired by a recent improvement to GCC's VRP. llvm-svn: 152405
-
Anton Korobeynikov authored
Patch by Tom Stellard! llvm-svn: 152400
-
Nick Lewycky authored
it to analyze extractvalue(llvm.[us](add|sub).with.overflow.*) intrinsics! llvm-svn: 152398
-
Andrew Trick authored
llvm-svn: 152393
-
Craig Topper authored
llvm-svn: 152391
-
Ahmed Charles authored
llvm-svn: 152390
-
Andrew Trick authored
llvm-svn: 152382
-
Andrew Trick authored
llvm-svn: 152374
-
Andrew Trick authored
llvm-svn: 152373
-
Chandler Carruth authored
introduced. Specifically, there are cost reductions for all constant-operand icmp instructions against an alloca, regardless of whether the alloca will in fact be elligible for SROA. That means we don't want to abort the icmp reduction computation when we abort the SROA reduction computation. That in turn frees us from the need to keep a separate worklist and defer the ICmp calculations. Use this new-found freedom and some judicious function boundaries to factor the innards of computing the cost factor of any given instruction out of the loop over the instructions and into static helper functions. This greatly simplifies the code, and hopefully makes it more clear what is happening here. Reviewed by Eric Christopher. There is some concern that we'd like to ensure this doesn't get out of hand, and I plan to benchmark the effects of this change over the next few days along with some further fixes to the inline cost. llvm-svn: 152368
-
Chad Rosier authored
Original commit message from r147481: DAGCombine for transforming 128->256 casts into a vmovaps, rather then a vxorps + vinsertf128 pair if the original vector came from a load. Fix: Unaligned loads need to generate a vmovups. rdar://10974078 llvm-svn: 152366
-