- Apr 17, 2010
-
-
Evan Cheng authored
llvm-svn: 101621
-
Evan Cheng authored
llvm-svn: 101620
-
Bob Wilson authored
may be called when either the source or destination type is i64, and my change also hadn't fixed the most obvious problem -- assuming that i64 will only be bitconverted to f64, ignoring the various vector types. Radar 7873160. llvm-svn: 101615
-
Bob Wilson authored
to determine where to place PHIs by iteratively comparing reaching definitions at each block. That was just plain wrong. This version now computes the dominator tree within the subset of the CFG where PHIs may need to be placed, and then places the PHIs in the iterated dominance frontier of each definition. The rest of the patch is mostly the same, with a few more performance improvements added in. llvm-svn: 101612
-
Bob Wilson authored
just remove them all. Radar 7873207 (working around the root problem of Radar 7759363). llvm-svn: 101604
-
Jakob Stoklund Olesen authored
Revert "Use a simpler data structure to calculate the least recently used register in RegAllocLocal." This reverts commit 101392. It broke a buildbot. llvm-svn: 101595
-
Chris Lattner authored
llvm-svn: 101583
-
Chris Lattner authored
llvm-svn: 101581
-
Eric Christopher authored
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
-
Devang Patel authored
llvm-svn: 101575
-
Jakob Stoklund Olesen authored
This makes the local register allocator about 20% faster. llvm-svn: 101574
-
Johnny Chen authored
llvm-svn: 101573
-
Chris Lattner authored
to keep the node entries in scc_iterator up to date instead of dangling as the SCC mutates. This is a really terrible problem which was causing -g to affect codegen because it would permute the memory image of the compiler process. Thanks to Dale for expertly hunting it down. llvm-svn: 101565
-
Dan Gohman authored
llvm-svn: 101564
-
Johnny Chen authored
on it. llvm-svn: 101563
-
Chris Lattner authored
No functionality change. llvm-svn: 101562
-
Chris Lattner authored
to CallGraphSCCPass's instead of passing around a std::vector<CallGraphNode*>. No functionality change, but now we have a much tidier interface. llvm-svn: 101558
-
Johnny Chen authored
case. Also, the 0xFF hex literal involved in the shift for ESize64 should be suffixed "ul" to preserve the shift result. Implemented printHex*ImmOperand() by copying from ARMAsmPrinter.cpp and added a test case for DisassembleN1RegModImmFrm()/printHex64ImmOperand(). llvm-svn: 101557
-
Evan Cheng authored
(i32 sext_in_reg (i32 aext (i16 x)), i16) -> (i32 sext x). No known test case until -promote-16bit is enabled. llvm-svn: 101551
-
- Apr 16, 2010
-
-
Chris Lattner authored
llvm-svn: 101543
-
Chris Lattner authored
llvm-svn: 101538
-
Dan Gohman authored
SelectionDAG-specific parts of TargetLowering. llvm-svn: 101537
-
Dan Gohman authored
llvm-svn: 101532
-
Dan Gohman authored
llvm-svn: 101531
-
Johnny Chen authored
this patch removes the assert() from printAddrMode3OffsetOperand() and adds a test case. llvm-svn: 101529
-
Johnny Chen authored
to the UAL syntax of LDCL<c>, instead. Add a test case for this change which also tests the removal of assert() from printAddrMode2OffsetOperand(). llvm-svn: 101527
-
Johnny Chen authored
considered legal instructions. Refs: A8.6.51 LDC, LDC2 (immediate) -- page A8-107, A8.6.58 LDR (immediate, ARM) -- page A8-121, and A8.6.194 STR (immediate, ARM) -- page A8-395. llvm-svn: 101524
-
Evan Cheng authored
llvm-svn: 101501
-
Evan Cheng authored
llvm-svn: 101500
-
Dan Gohman authored
llvm-svn: 101480
-
Dan Gohman authored
llvm-svn: 101478
-
Dan Gohman authored
llvm-svn: 101477
-
Dan Gohman authored
dependent analyses, and increase code size, so doing it profitably would require more complex heuristics. llvm-svn: 101471
-
Dan Gohman authored
callee is expected to be expanded to something else by codegen, so that normal infinitely recursive calls are still transformed. llvm-svn: 101468
-
Gabor Greif authored
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
-
Dan Gohman authored
llvm-svn: 101463
-
Dan Gohman authored
expression canonicalization. Its job is to print what's there, not to make judgements about it. llvm-svn: 101461
-
Bill Wendling authored
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the section for the MCSymbol is never set. And thus the MCSymbol for the EH label isn't marked as "defined". Because of that, TidyLandingPads removes the needed landing pads from the JIT output. This breaks EH for every JIT program. This is a work-around for this limitation. We pass in the label locations map. If the label has a non-zero value, then it was "emitted" by the JIT and TidyLandingPads shouldn't remove that label. A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely upon the section being set to determine if it's defined or not. llvm-svn: 101453
-
Evan Cheng authored
Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding. x86 support is off by default. It can be enabled with -promote-16bit. Work in progress. llvm-svn: 101448
-
Evan Cheng authored
llvm-svn: 101446
-