- Aug 07, 2009
-
-
Jeffrey Yasskin authored
http://llvm.org/viewvc/llvm-project?view=rev&revision=78127, I'm changing the ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That way, if unregistering a mapping fails to actually unregister it, we'll get an assert. Running the jit nightly tests didn't uncover any actual instances of the problem. This also uncovered the fact that AssertingVH<const X> didn't work, so I fixed that too. llvm-svn: 78400
-
Evan Cheng authored
llvm-svn: 78399
-
Evan Cheng authored
llvm-svn: 78398
-
Evan Cheng authored
llvm-svn: 78397
-
Mike Stump authored
llvm-svn: 78396
-
Anders Carlsson authored
llvm-svn: 78395
-
Andreas Bolka authored
LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of depth N and a compound SCEV of M atomic SCEVs. As both N and M will typically be very small, this should not be a problem. If it turns out to be one, rewriting getLoops as SCEVVisitor will reduce complexity to O(M). llvm-svn: 78394
-
Mike Stump authored
llvm-svn: 78393
-
Dale Johannesen authored
preference; no functional change. llvm-svn: 78391
-
Devang Patel authored
Patch by Jakub Staszak. llvm-svn: 78388
-
Ryan Flynn authored
llvm-svn: 78385
-
Andreas Bolka authored
llvm-svn: 78384
-
Sanjiv Gupta authored
llvm-svn: 78383
-
Benjamin Kramer authored
llvm-svn: 78382
-
Daniel Dunbar authored
llvm-svn: 78381
-
Daniel Dunbar authored
i386-apple-darwin9. This presumably will get fixed once the generated code improves. llvm-svn: 78379
-
Daniel Dunbar authored
- Still not very sane, but a least its not 60k lines on X86. :) - In terms of correctness, currently some things are hard wired for X86, and we still don't properly resolve ambiguities (this is ignoring the instructions we don't even match due to funny .td stuff or other corner cases). The high level changes: 1. Represent tokens which are significant for matching explicitly as separate operands. This uniformly handles not only the instruction mnemonic, but also 'signficiant' syntax like the '*' in "call * ...". 2. Separate the matching of operands to an instruction from the construction of the MCInst. In theory this can be done during matching, but since the number of variations is small I think it makes sense to decompose the problems. 3. Improved a few of the mechanisms to at least successfully flatten / tokenize the assembly strings for PowerPC and ARM. 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm moving towards for handling ambiguous instructions. The high-bit is to infer a partial ordering of the operand classes (and force the user to specify one if we can't) and use that to resolve ambiguities. llvm-svn: 78378
-
Evan Cheng authored
llvm-svn: 78377
-
Evan Cheng authored
Another coalescer bug. When a dead copy is eliminated, transfer the kill to a def of the exact register rather than a super-register. llvm-svn: 78376
-
Douglas Gregor authored
or expression (Destroy) from the virtual function used to actually destroy a given expression (DoDestroy). llvm-svn: 78375
-
Evan Cheng authored
llvm-svn: 78370
-
Sanjiv Gupta authored
llvm-svn: 78369
-
Chris Lattner authored
and Carl-Daniel Hailfinger! llvm-svn: 78368
-
Daniel Dunbar authored
llvm-svn: 78367
-
Daniel Dunbar authored
llvm-svn: 78366
-
Andrew Lenharth authored
llvm-svn: 78365
-
Dan Gohman authored
llvm-svn: 78364
-
Dan Gohman authored
llvm-svn: 78363
-
Dan Gohman authored
llvm-svn: 78362
-
Evan Cheng authored
It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing. This patch takes pain to ensure all the PEI lowering code does the right thing when lowering frame indices, insert code to manipulate stack pointers, etc. It's also custom lowering dynamic stack alloc into pseudo instructions so we can insert the right instructions at scheduling time. This fixes PR4659 and PR4682. llvm-svn: 78361
-
Evan Cheng authored
llvm-svn: 78360
-
Lang Hames authored
Added legal stuff, fixed some formatting issues. Removed the graph generator stuff as it was only meant for debugging the solver. llvm-svn: 78359
-
Dale Johannesen authored
moment, but it's a fragile area. llvm-svn: 78358
-
Mike Stump authored
llvm-svn: 78357
-
Fariborz Jahanian authored
Work in progress. llvm-svn: 78355
-
Lang Hames authored
New C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver. llvm-svn: 78354
-
Dale Johannesen authored
produced a CFG it wasn't prepared for. llvm-svn: 78351
-
Dale Johannesen authored
llvm-svn: 78350
-
Ted Kremenek authored
with array accesses. In the process, refactor some common logic in RetrieveElement() and RetrieveField() into RetrieveFieldOrElementCommon(). llvm-svn: 78349
-
Douglas Gregor authored
TransformStmt, into the tree transformer. llvm-svn: 78347
-