- Jan 25, 2013
-
-
Jakub Staszak authored
llvm-svn: 173497
-
Bill Wendling authored
llvm-svn: 173495
-
Richard Osborne authored
llvm-svn: 173494
-
Richard Osborne authored
The order in which operands appear in the encoded instruction is different to order in which they appear in assembly. This changes the XCore backend to use the instruction encoding order. llvm-svn: 173493
-
Eli Bendersky authored
politely report it instead of running into llvm_unreachable. Also patch llvm-dwarfdump to actually check whether the file it's attempting to dump is a valid object file. llvm-svn: 173489
-
Eli Bendersky authored
Flags for dumping specific DWARF sections added in lib/DebugInfo and llvm-dwarfdump. llvm-svn: 173480
-
Richard Osborne authored
llvm-svn: 173479
-
Richard Osborne authored
With this change the operands order matches the order in which the operands are encoded in the instruction. llvm-svn: 173477
-
Richard Osborne authored
llvm-svn: 173476
-
Benjamin Kramer authored
llvm-svn: 173475
-
Pedro Artigas authored
created InternalizePass (useful for pass reuse) llvm-svn: 173474
-
Nadav Rotem authored
llvm-svn: 173471
-
Nadav Rotem authored
llvm-svn: 173467
-
Benjamin Kramer authored
Fixes PR15054. llvm-svn: 173459
-
Reid Kleckner authored
llvm-svn: 173454
-
Evgeniy Stepanov authored
llvm-svn: 173453
-
Evgeniy Stepanov authored
Only for integers, pointers, and vectors of those. No floats. Instrumentation seems very heavy, and may need to be replaced with some approximation in the future. llvm-svn: 173452
-
Preston Gurd authored
with an initial number of elements, instead of DenseMap, which has zero initial elements, in order to avoid the copying of elements when the size changes and to avoid allocating space every time LegalizeTypes is run. This patch will not affect the memory footprint, because DenseMap will increase the element size to 64 when the first element is added. Patch by Wan Xiaofei. llvm-svn: 173448
-
Hal Finkel authored
Uses the new !add TableGen operator to do more cleanup of the PPC register definitions. llvm-svn: 173446
-
Hal Finkel authored
This adds an !add(a, b) operator to tablegen; this will be used to cleanup the PPC register definitions. llvm-svn: 173445
-
Silviu Baranga authored
Fixed the condition codes for the atomic64 min/umin code generation on ARM. If the sutraction of the higher 32 bit parts gives a 0 result, we need to do the store operation. llvm-svn: 173437
-
Bill Wendling authored
llvm-svn: 173434
-
Andrew Trick authored
llvm-svn: 173433
-
Andrew Trick authored
llvm-svn: 173432
-
Andrew Trick authored
llvm-svn: 173431
-
Andrew Trick authored
This fixes DAG subtree analysis at the boundary. llvm-svn: 173427
-
Andrew Trick authored
Maintain separate per-node and per-tree book-keeping. Track all instructions above a DAG node including nested subtrees. Seperately track instructions within a subtree. Record subtree parents. llvm-svn: 173426
-
Andrew Trick authored
Allow the strategy to select SchedDFS. Allow the results of SchedDFS to affect initialization of the scheduler state. llvm-svn: 173425
-
Andrew Trick authored
This is mostly refactoring, along with adding an instruction count within the subtrees and ensuring we only look at data edges. llvm-svn: 173420
-
Chandler Carruth authored
loops over instructions in the basic block or the use-def list of the value, neither of which are really efficient when repeatedly querying about values in the same basic block. What's more, we already know that the CondBB is small, and so we can do a much more efficient test by counting the uses in CondBB, and seeing if those account for all of the uses. Finally, we shouldn't blanket fail on any such instruction, instead we should conservatively assume that those instructions are part of the cost. Note that this actually fixes a bug in the pass because isUsedInBasicBlock has a really terrible bug in it. I'll fix that in my next commit, but the fix for it would make this code suddenly take the compile time hit I thought it already was taking, so I wanted to go ahead and migrate this code to a faster & better pattern. The bug in isUsedInBasicBlock was also causing other tests to test the wrong thing entirely: for example we weren't actually disabling speculation for floating point operations as intended (and tested), but the test passed because we failed to speculate them due to the isUsedInBasicBlock failure. llvm-svn: 173417
-
Andrew Trick authored
interface and allow other strategies to select it. llvm-svn: 173413
-
Jack Carter authored
directive for the Mips assembler. Contributer: Vladimir Medic llvm-svn: 173407
-
Akira Hatanaka authored
llvm-svn: 173401
-
Andrew Trick authored
For sanity, create a root when NumDataSuccs >= 4. Splitting large subtrees will no longer be detrimental after my next checkin to handle nested tree. A magic number of 4 is fine because single subtrees seldom rejoin more than this. It makes subtrees easier to visualize and heuristics more sane. llvm-svn: 173399
-
Jakob Stoklund Olesen authored
Patch by Stefan Hepp. llvm-svn: 173395
-
Renato Golin authored
llvm-svn: 173382
-
- Jan 24, 2013
-
-
Michael Gottesman authored
Added comment to ObjCARC elaborating what is meant by the term 'Provenance' in 'Provenance Analysis'. llvm-svn: 173374
-
Hal Finkel authored
No functionality change intended. This captures the first two cases GPR32/64. For the others, we need an addition operator (if we have one, I've not yet found it). Based on a suggestion made by Tom Stellard in the AArch64 review! llvm-svn: 173366
-
Benjamin Kramer authored
Original commit message: Plug TTI into the speculation logic, giving it a real cost interface that can be specialized by targets. The goal here is not to be more aggressive, but to just be more accurate with very obvious cases. There are instructions which are known to be truly free and which were not being modeled as such in this code -- see the regression test which is distilled from an inner loop of zlib. Everywhere the TTI cost model is insufficiently conservative I've added explicit checks with FIXME comments to go add proper modelling of these cost factors. If this causes regressions, the likely solution is to make TTI even more conservative in its cost estimates, but test cases will help here. llvm-svn: 173357
-
Benjamin Kramer authored
We use constant folding to see if an intrinsic evaluates to the same value as a constant that we know. If we don't take the undefinedness into account we get a value that doesn't match the actual implementation, and miscompiled code. This was uncovered by Chandler's simplifycfg changes. llvm-svn: 173356
-