- Mar 02, 2010
-
-
Chris Lattner authored
CopyToReg/CopyFromReg/INLINEASM. These are annoying because they have the same opcode before an after isel. Fix this by setting their NodeID to -1 to indicate that they are selected, just like what automatically happens when selecting things that end up being machine nodes. With that done, give IsLegalToFold a new flag that causes it to ignore chains. This lets the HandleMergeInputChains routine be the one place that validates chains after a match is successful, enabling the new hotness in chain processing. This smarter chain processing eliminates the need for "PreprocessRMW" in the X86 and MSP430 backends and enables MSP to start matching it's multiple mem operand instructions more aggressively. I currently #if out the dead code in the X86 backend and MSP backend, I'll remove it for real in a follow-on patch. The testcase changes are: test/CodeGen/X86/sse3.ll: we generate better code test/CodeGen/X86/store_op_load_fold2.ll: PreprocessRMW was miscompiling this before, we now generate correct code Convert it to filecheck while I'm at it. test/CodeGen/MSP430/Inst16mm.ll: Add a testcase for mem/mem folding to make anton happy. :) llvm-svn: 97596
-
Johnny Chen authored
llvm-svn: 97595
-
Evan Cheng authored
llvm-svn: 97594
-
Bill Wendling authored
Place the LSDA into the TEXT section on Mach-O. This saves space. llvm-svn: 97592
-
Ted Kremenek authored
After discussion with Zhongxing, don't force the initializer of DeclStmts to be block-level expressions. This led to some interesting fallout: [UninitializedValues] Always visit the initializer of DeclStmts (do not assume they are block-level expressions). [BasicStore] With initializers of DeclStmts no longer block-level expressions, this causes self-referencing initializers (e.g. 'int x = x') to no longer cause the initialized variable to be live before the DeclStmt. While this is correct, it caused BasicStore::RemoveDeadBindings() to prune off the values of these variables from the initial store (where they are set to uninitialized). The fix is to back-port some (and only some) of the lazy-binding logic from RegionStore to BasicStore. Now the default values of local variables are determined lazily as opposed to explicitly initialized. llvm-svn: 97591
-
Ted Kremenek authored
llvm-svn: 97590
-
Rafael Espindola authored
we need to synthesize has been marked as used by Sema. Change Sema to avoid these asserts. llvm-svn: 97589
-
Chris Lattner authored
xor pattern. I have no plans to fix this XFAIL. llvm-svn: 97587
-
Erick Tryzelaar authored
llvm-svn: 97586
-
Erick Tryzelaar authored
llvm-svn: 97585
-
Chris Lattner authored
llvm-svn: 97584
-
Johnny Chen authored
the opc string passed in, since it's a given from the class inheritance of T2sI. The fixed the extra 's' in adcss & sbcss when disassembly printing. llvm-svn: 97582
-
Chris Lattner authored
llvm-svn: 97581
-
Dan Gohman authored
by loop depth and emit loop-invariant subexpressions outside of loops. This speeds up MultiSource/Applications/viterbi and others. llvm-svn: 97580
-
Douglas Gregor authored
GCC. Fixes PR6301. llvm-svn: 97579
-
Evan Cheng authored
llvm-svn: 97578
-
Evan Cheng authored
llvm-svn: 97577
-
Chris Lattner authored
llvm-svn: 97576
-
Douglas Gregor authored
llvm-svn: 97575
-
Chris Lattner authored
to itself, even though this isn't wildly useful. llvm-svn: 97574
-
Johnny Chen authored
SMMULR, SMMLAR, SMMLSR, TBB, TBH, and 16-bit Thumb instruction CPS for disassembly only. llvm-svn: 97573
-
Devang Patel authored
Thanks Duncan! llvm-svn: 97572
-
Johnny Chen authored
Add printMandatoryPredicateOperand() PrintMethod for IT predicate printing. Ref: A8.3 Conditional execution llvm-svn: 97571
-
Douglas Gregor authored
careful about value-dependent enumerators. Fixes PR5786. llvm-svn: 97570
-
Kovarththanan Rajaratnam authored
llvm-svn: 97569
-
Douglas Gregor authored
used to do this, but it got lost when we switched functional-style cast syntax over to using the new initialization code. Fixes PR6457. llvm-svn: 97568
-
Johnny Chen authored
llvm-svn: 97567
-
Charles Davis authored
use scan-build with Wine, for example. Ted, I hope this is OK. llvm-svn: 97566
-
Xerxes Ranby authored
llvm-svn: 97565
-
Xerxes Ranby authored
llvm-svn: 97564
-
Duncan Sands authored
and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal and AddressSpace for AddressSpace. Spotted by gcc-4.5. llvm-svn: 97563
-
Zhongxing Xu authored
We may query their liveness because they are added to store when passing argument values. llvm-svn: 97562
-
Chris Lattner authored
was that we weren't properly handling the case when interior nodes of a matched pattern become dead after updating chain and flag uses. Now we handle this explicitly in UpdateChainsAndFlags. llvm-svn: 97561
-
Douglas Gregor authored
base/member initializers. llvm-svn: 97560
-
Chris Lattner authored
*does* delete ex-operands that become dead. llvm-svn: 97559
-
Chris Lattner authored
llvm-svn: 97558
-
Chris Lattner authored
llvm-svn: 97557
-
Chris Lattner authored
llvm-svn: 97556
-
Chris Lattner authored
DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) llvm-svn: 97555
-
Eric Christopher authored
Fixes PR5309. llvm-svn: 97554
-