- Nov 18, 2008
-
-
Dan Gohman authored
they trap on divide-by-zero, and this side effect is otherwise unmodeled. llvm-svn: 59551
-
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 14, 2008
-
-
Dale Johannesen authored
llvm-svn: 59311
-
- Nov 13, 2008
-
-
Dale Johannesen authored
(actually, code already all worked, only the comment changed). Use this to implement 'A' constraint on x86. Fixes PR 1779. llvm-svn: 59266
-
- Nov 12, 2008
-
-
Dan Gohman authored
special-purpose hook to a new pass. Also, add check to see if any x87 virtual registers are used, to avoid doing any work in the common case that no x87 code is needed. llvm-svn: 59190
-
- Nov 11, 2008
-
-
Evan Cheng authored
llvm-svn: 59052
-
Dan Gohman authored
to be sign-extended when it is promoted to 64 bits for intermediate offset calculations. The offset calculations are done as uint64_t so that overflow conditions are well defined. This fixes a problem which is currently hidden by the x86 AsmPrinter but which was exposed by r58917 (which is temporarily reverted). See PR3027 for details. llvm-svn: 59044
-
- Nov 10, 2008
-
-
Dan Gohman authored
llvm-svn: 59004
-
Evan Cheng authored
llvm-svn: 58949
-
- Nov 09, 2008
-
-
Anton Korobeynikov authored
and breaks llvm-gcc llvm-svn: 58926
-
- Nov 08, 2008
-
-
Anton Korobeynikov authored
FIXME: it seems, that most of targets don't support offsets wrt CPI/GlobalAddress', was it intentional? llvm-svn: 58917
-
Evan Cheng authored
llvm-svn: 58897
-
- Nov 07, 2008
-
-
Dan Gohman authored
This is a temporary fix for the -print-emitted-asm option, where errs() is used as the stream, in the case where other code is using stderr without using errs()' buffer. Hopefully soon we'll fix errs() to be non-buffered instead. Patch by Preston Gurd. llvm-svn: 58859
-
- Nov 06, 2008
-
-
Mon P Wang authored
llvm-svn: 58796
-
- Nov 05, 2008
-
-
Evan Cheng authored
llvm-svn: 58752
-
Evan Cheng authored
llvm-svn: 58750
-
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
-
Evan Cheng authored
indirect gv reference. Please don't call it lazy. llvm-svn: 58746
-
- Nov 04, 2008
-
-
Dan Gohman authored
have its node id set. The new and and shift nodes are the nodes that need the IDs. This fixes PR2982. llvm-svn: 58655
-
- Nov 03, 2008
-
-
Dan Gohman authored
adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
-
- Oct 31, 2008
-
-
Mon P Wang authored
llvm-svn: 58528
-
Bill Wendling authored
llvm-svn: 58523
-
Evan Cheng authored
Change x86 register allocation ordering to match that of gcc. Otherwise some tools get confused by prologue generated by llvm. llvm-svn: 58517
-
Bill Wendling authored
callee-saved restore code. It could skip over conditional jumps accidentally. Instead, just skip the "return" instructions. llvm-svn: 58489
-
Dan Gohman authored
vector element 0 for a store, as it's smaller and faster. llvm-svn: 58483
-
- Oct 30, 2008
-
-
Mon P Wang authored
One will only see an effect if legalizetype is not active. Will move support to LegalizeType soon. llvm-svn: 58426
-
Nate Begeman authored
llvm-svn: 58403
-
- Oct 28, 2008
-
-
Chris Lattner authored
a memset using 16-byte XMM stores, but where the stack realignment code didn't work. Until it does (PR2962) disable use of xmm regs in memcpy and memset formation for linux and other targets with insufficiently aligned stacks. This is part of PR2888 llvm-svn: 58317
-
- 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
-
Evan Cheng authored
For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them. llvm-svn: 58230
-
- Oct 25, 2008
-
-
Dan Gohman authored
target-independent code to target-specific code. This prevents it from running on targets that aren't using fast-isel. In addition to saving compile time, this addresses the problem that not all targets are prepared for it. In order to use this pass, all instructions must declare all their fixed uses and defs of physical registers. llvm-svn: 58144
-
Nicolas Geoffray authored
variable is moved to the execution engine. The JIT calls the TargetJITInfo to allocate thread local storage. Currently, only linux/x86 knows how to allocate thread local global variables. llvm-svn: 58142
-
Nicolas Geoffray authored
llvm-svn: 58141
-
- Oct 24, 2008
-
-
Torok Edwin authored
llvm-svn: 58104
-
Duncan Sands authored
LHS is a foldable load, then LHS and RHS are swapped and SetCCOpcode is changed to SETUGT. But the later code is expecting operands to be the wrong way round for SETUGT, but they are not in this case, resulting in an inverted compare. The solution is to move the load normalization before the correction for SETUGT. This bug was tickled by LegalizeTypes which happened to legalize the testcase slightly differently to LegalizeDAG. llvm-svn: 58092
-
Dan Gohman authored
fixes a bunch of test-suite JIT failures on x86-64 in -relocation-model=static mode. llvm-svn: 58066
-
- Oct 22, 2008
-
-
Dale Johannesen authored
llvm-svn: 57987
-
Duncan Sands authored
assume that i64 has been turned into a BUILD_PAIR node (when called from LegalizeTypes this hasn't happened yet) and don't use a vector shuffle mask with an illegal element type. llvm-svn: 57972
-
Oscar Fuentes authored
names of LLVMCore and ARMCodeGen. llvm-svn: 57943
-