- Mar 12, 2012
-
-
Eric Christopher authored
Patch by John Spencer llvm-svn: 152574
-
Bill Wendling authored
--- Reverse-merging r152486 into '.': U lib/CodeGen/SjLjEHPrepare.cpp llvm-svn: 152571
-
Kostya Serebryany authored
llvm-svn: 152567
-
Chandler Carruth authored
candidate set for subsequent inlining, try to simplify the arguments to the inner call site now that inlining has been performed. The goal here is to propagate and fold constants through deeply nested call chains. Without doing this, we loose the inliner bonus that should be applied because the arguments don't match the exact pattern the cost estimator uses. Reviewed on IRC by Benjamin Kramer. llvm-svn: 152556
-
Chandler Carruth authored
Typically instcombine has handled this, but pointer differences show up in several contexts where we would like to get constant folding, and cannot afford to run instcombine. Specifically, I'm working on improving the constant folding of arguments used in inline cost analysis with instsimplify. Doing this in instsimplify implies some algorithm changes. We have to handle multiple layers of all-constant GEPs because instsimplify cannot fold them into a single GEP the way instcombine can. Also, we're only interested in all-constant GEPs. The result is that this doesn't really replace the instcombine logic, it's just complimentary and focused on constant folding. Reviewed on IRC by Benjamin Kramer. llvm-svn: 152555
-
Chandler Carruth authored
llvm-svn: 152554
-
Duncan Sands authored
llvm-svn: 152553
-
Bob Wilson authored
<rdar://problem/11024696> llvm-svn: 152548
-
- Mar 11, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152545
-
Benjamin Kramer authored
llvm-svn: 152544
-
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
-
Gregory Szorc authored
It doesn't currently support the op info and symbol lookup callbacks, but it is better than nothing. llvm-svn: 152527
-
Douglas Gregor authored
llvm-svn: 152525
-
Craig Topper authored
Shrink and reorder some fields in MCOperandInfo to fit it in 8 bytes to reduce size of static tables. llvm-svn: 152524
-
Michael J. Spencer authored
llvm-svn: 152523
-
Michael J. Spencer authored
llvm-svn: 152522
-
Aaron Ballman authored
llvm-svn: 152518
-
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
-
Gregory Szorc authored
Chris Lattner says the edis interface is going away. It doesn't make sense to land something that will go away in the near future. llvm-svn: 152508
-
Kay Tiong Khoo authored
llvm-svn: 152507
-
Gregory Szorc authored
This requires a C++ change to EDDisassembler's ctor to function properly (the llvm::InitializeAll* functions aren't being called currently and there is no way to call them from Python). Code is partially tested and works well enough for initial commit. There are probably many small bugs. llvm-svn: 152506
-
Gregory Szorc authored
llvm-svn: 152505
-
Andrew Trick authored
llvm-svn: 152502
-
Bill Wendling authored
llvm-svn: 152499
-
Benjamin Kramer authored
llvm-svn: 152498
-
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
-
Gregory Szorc authored
llvm-svn: 152483
-
Gregory Szorc authored
It is now possible to load object files and scan over sections, symbols, and relocations! Includes test code with partial coverage. llvm-svn: 152482
-
Benjamin Kramer authored
llvm-svn: 152474
-
Jakob Stoklund Olesen authored
llvm-svn: 152460
-