- Mar 03, 2010
-
-
Evan Cheng authored
llvm-svn: 97627
-
Evan Cheng authored
llvm-svn: 97626
-
Ted Kremenek authored
llvm-svn: 97625
-
Ted Kremenek authored
If an initializer in a DeclStmt references the declared variable, that extends the liveness of that variable. llvm-svn: 97624
-
Bill Wendling authored
llvm-svn: 97623
-
Douglas Gregor authored
llvm-svn: 97621
-
Ted Kremenek authored
(even if it is defined). This fixes the issue of this function returning '0' when SVN_VERSION is defined to be "". Fixes: <rdar://problem/7663667> llvm-svn: 97620
-
Zhongxing Xu authored
llvm-svn: 97619
-
Douglas Gregor authored
static function. No functionality change. llvm-svn: 97618
-
Evan Cheng authored
llvm-svn: 97617
-
Bill Wendling authored
long test(long x) { return (x & 123124) | 3; } Currently compiles to: _test: orl $3, %edi movq %rdi, %rax andq $123127, %rax ret This is because instruction and DAG combiners canonicalize (or (and x, C), D) -> (and (or, D), (C | D)) However, this is only profitable if (C & D) != 0. It gets in the way of the 3-addressification because the input bits are known to be zero. llvm-svn: 97616
-
Douglas Gregor authored
llvm-svn: 97615
-
Johnny Chen authored
disassembly only. llvm-svn: 97614
-
Douglas Gregor authored
llvm-svn: 97613
-
Erick Tryzelaar authored
llvm-svn: 97612
-
Erick Tryzelaar authored
llvm-svn: 97611
-
Erick Tryzelaar authored
llvm-svn: 97610
-
Erick Tryzelaar authored
llvm-svn: 97609
-
Erick Tryzelaar authored
llvm-svn: 97608
-
Douglas Gregor authored
come back to bite us at some point. llvm-svn: 97607
-
Chris Lattner authored
llvm-svn: 97606
-
John McCall authored
declarations after the member has been explicitly specialized. We already did this after explicit instantiation definitions; not doing it for declarations meant that subsequent definitions would see a previous member declaration with specialization kind "explicit instantiation decl", which would then happily get overridden. Fixes PR 6458. llvm-svn: 97605
-
- Mar 02, 2010
-
-
Chris Lattner authored
We still preprocess calls and fp return stuff. llvm-svn: 97598
-
Chris Lattner authored
now that isel handles chains more aggressively. This also allows us to make isLegalToFold non-virtual. llvm-svn: 97597
-
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
-