- Jan 05, 2009
-
-
Dan Gohman authored
llvm-svn: 61715
-
- Dec 12, 2008
-
-
Duncan Sands authored
lowering f64 function arguments. llvm-svn: 60944
-
- Dec 03, 2008
-
-
Dan Gohman authored
parts, and add target-independent code to add/preserve MachineMemOperands. llvm-svn: 60488
-
- Dec 01, 2008
-
-
Duncan Sands authored
MERGE_VALUES node with only one operand, so get rid of special code that only existed to handle that possibility. llvm-svn: 60349
-
- Nov 24, 2008
-
-
Evan Cheng authored
Move target independent td files from lib/Target/ to include/llvm/Target so they can be distributed along with the header files. llvm-svn: 59953
-
- Nov 18, 2008
-
-
Dan Gohman authored
llvm-svn: 59542
-
- Nov 15, 2008
-
-
Oscar Fuentes authored
well as 2 files that use "Registrator"s. These are to be used by the MSVC builds, as the Win32 linker does not include libs that are otherwise unreferenced, even if global constructors in the lib have side-effects. Patch by Scott Graham! llvm-svn: 59378
-
- Nov 11, 2008
-
-
Oscar Fuentes authored
llvm-svn: 59050
-
Anton Korobeynikov authored
llvm-svn: 59047
-
- Nov 05, 2008
-
-
Dan Gohman authored
priority function. Instead, just iterate over the AllNodes list, which is already in topological order. This eliminates a fair amount of bookkeeping, and speeds up the isel phase by about 15% on many testcases. The impact on most targets is that AddToISelQueue calls can be simply removed. In the x86 target, there are two additional notable changes. The rule-bending AND+SHIFT optimization in MatchAddress that creates new pre-isel nodes during isel is now a little more verbose, but more robust. Instead of either creating an invalid DAG or creating an invalid topological sort, as it has historically done, it can now just insert the new nodes into the node list at a position where they will be consistent with the topological ordering. Also, the address-matching code has logic that checked to see if a node was "already selected". However, when a node is selected, it has all its uses taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any further visits from MatchAddress. This code is now removed. llvm-svn: 58748
-
- Oct 27, 2008
-
-
David Greene authored
Have TableGen emit setSubgraphColor calls under control of a -gen-debug flag. Then in a debugger developers can set breakpoints at these calls to see waht is about to be selected and what the resulting subgraph looks like. This really helps when debugging instruction selection. llvm-svn: 58278
-
- Oct 18, 2008
-
-
Dan Gohman authored
and add a TargetLowering hook for it to use to determine when this is legal (i.e. not in PIC mode, etc.) This allows instruction selection to emit folded constant offsets in more cases, such as the included testcase, eliminating the need for explicit arithmetic instructions. This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp that attempted to achieve the same effect, but wasn't as effective. Also, fix handling of offsets in GlobalAddressSDNodes in several places, including changing GlobalAddressSDNode's offset from int to int64_t. The Mips, Alpha, Sparc, and CellSPU targets appear to be unaware of GlobalAddress offsets currently, so set the hook to false on those targets. llvm-svn: 57748
-
- Oct 16, 2008
-
-
Dan Gohman authored
llvm-svn: 57622
-
- Oct 14, 2008
-
-
Evan Cheng authored
llvm-svn: 57526
-
Dan Gohman authored
instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
-
- Oct 12, 2008
-
-
Chris Lattner authored
parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. llvm-svn: 57385
-
- Oct 10, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 57368
-
Anton Korobeynikov authored
Extend set of return registers on sparc until someone will implement MRV support there. At least, this will allow libgcc compile, however we are not ABI-compatible with stuff compiled with native gcc. llvm-svn: 57364
-
Anton Korobeynikov authored
llvm-svn: 57363
-
Anton Korobeynikov authored
llvm-svn: 57362
-
Anton Korobeynikov authored
llvm-svn: 57359
-
Anton Korobeynikov authored
llvm-svn: 57358
-
Anton Korobeynikov authored
llvm-svn: 57346
-
Anton Korobeynikov authored
Add dummy 'm' inline asm constraint handler for Sparc. I'm not sure, whether it is correct, however :) llvm-svn: 57345
-
Anton Korobeynikov authored
llvm-svn: 57344
-
- Oct 03, 2008
-
-
Dan Gohman authored
Instead, just create one, and make sure everything that needs it can access it. Previously most of the SelectionDAGISel subclasses all had their own TargetLowering object, which was redundant with the TargetLowering object in the TargetMachine subclasses, except on Sparc, where SparcTargetMachine didn't have a TargetLowering object. Change Sparc to work more like the other targets here. llvm-svn: 57016
-
Dan Gohman authored
isReg, etc., from isRegister, etc. llvm-svn: 57006
-
- Sep 29, 2008
-
-
Duncan Sands authored
instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
-
- Sep 26, 2008
-
-
Oscar Fuentes authored
llvm-svn: 56641
-
- Sep 25, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 56573
-
Anton Korobeynikov authored
llvm-svn: 56572
-
- Sep 23, 2008
-
-
Dan Gohman authored
instruction opcodes are now numbered. No functionality change. llvm-svn: 56497
-
- Sep 22, 2008
-
-
Dale Johannesen authored
default. llvm-svn: 56471
-
- Sep 16, 2008
-
-
Bill Wendling authored
Apologies for the thrashing. llvm-svn: 56251
-
Bill Wendling authored
- Add linkage to SymbolSDNode (default to external). - Change ISD::ExternalSymbol to ISD::Symbol. - Change ISD::TargetExternalSymbol to ISD::TargetSymbol These changes pave the way to allowing SymbolSDNodes with non-external linkage. llvm-svn: 56249
-
- Sep 13, 2008
-
-
Dan Gohman authored
isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. llvm-svn: 56189
-
Dan Gohman authored
Currently it just holds the calling convention and flags for isVarArgs and isTailCall. And it has several utility methods, which eliminate magic 5+2*i and similar index computations in several places. CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle nodes that are not CSE'd gracefully. llvm-svn: 56183
-
- Sep 12, 2008
-
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
Dale Johannesen authored
No functional change (and no FE change to generate them). llvm-svn: 55753
-