- Nov 10, 2009
-
-
Jeffrey Yasskin authored
This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! llvm-svn: 86636
-
Chris Lattner authored
llvm-svn: 86635
-
David Goodwin authored
llvm-svn: 86634
-
Daniel Dunbar authored
Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs. llvm-svn: 86630
-
David Goodwin authored
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies. llvm-svn: 86628
-
Chris Lattner authored
simplification, this handles the foldable fcmp x,x cases among many others. llvm-svn: 86627
-
Dan Gohman authored
and ConstantFoldCompareInstOperands. llvm-svn: 86626
-
Chris Lattner authored
llvm-svn: 86625
-
Chris Lattner authored
Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. llvm-svn: 86624
-
Jim Grosbach authored
not necessary. llvm-svn: 86621
-
Chris Lattner authored
individual operands instead of taking a temporary array llvm-svn: 86619
-
Chris Lattner authored
llvm-svn: 86616
-
- Nov 09, 2009
-
-
Chris Lattner authored
takes decimated instructions and applies identities to them. This is pretty minimal at this point, but I plan to pull some instcombine logic out into these and similar routines. llvm-svn: 86613
-
Jeffrey Yasskin authored
llvm-svn: 86606
-
Jim Grosbach authored
llvm-svn: 86604
-
Chris Lattner authored
simplifies instruction users of PHIs when the phi is eliminated. This will be moved to transforms/utils after some other refactoring. llvm-svn: 86603
-
Jim Grosbach authored
llvm-svn: 86602
-
Dan Gohman authored
llvm-svn: 86601
-
Mike Stump authored
llvm-svn: 86600
-
Bill Wendling authored
llvm-svn: 86592
-
Bill Wendling authored
was generated. This caused code like this: ## The asm code for the function .section __TEXT,__const .align 2 lJTI11_0: LJTI11_0: .long LBB11_16 .long LBB11_4 .long LBB11_5 .long LBB11_6 .long LBB11_7 .long LBB11_8 .long LBB11_9 .long LBB11_10 .long LBB11_11 .long LBB11_12 .long LBB11_13 .long LBB11_14 Leh_func_end11: ## <---now in the wrong section! The `Leh_func_end11' would then end up in the wrong section, causing the resulting EH frame information to be wrong: __ZL11CheckRightsjPKcbRbRP6NSData.eh: .set Lset500eh,Leh_frame_end11-Leh_frame_begin11 .long Lset500eh ; Length of Frame Information Entry Leh_frame_begin11: .long Leh_frame_begin11-Leh_frame_common .long Leh_func_begin11-. .set Lset501eh,Leh_func_end11-Leh_func_begin11 .long Lset501eh ; FDE address range `Lset501eh' is now something huge instead of the real value. The X86 back-end generates the jump table after the EH information is emitted. Do the same here. llvm-svn: 86588
-
Dan Gohman authored
instructions. This makes CodeGen dumps significantly less noisy. Example before: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def,dead>, %D1<imp-def,dead>, %D2<imp-def,dead>, %D3<imp-def,dead>, %D4<imp-def,dead>, %D5<imp-def,dead>, %D6<imp-def,dead>, %D7<imp-def,dead>, %D16<imp-def,dead>, %D17<imp-def,dead>, %D18<imp-def,dead>, %D19<imp-def,dead>, %D20<imp-def,dead>, %D21<imp-def,dead>, %D22<imp-def,dead>, %D23<imp-def,dead>, %D24<imp-def,dead>, %D25<imp-def,dead>, %D26<imp-def,dead>, %D27<imp-def,dead>, %D28<imp-def,dead>, %D29<imp-def,dead>, %D30<imp-def,dead>, %D31<imp-def,dead>, %CPSR<imp-def,dead>, %FPSCR<imp-def,dead> Same example after: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %LR<imp-def,dead>, %CPSR<imp-def,dead>, ... llvm-svn: 86583
-
Dan Gohman authored
GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me) llvm-svn: 86582
-
David Goodwin authored
Fix dependencies added to model memory aliasing for post-RA scheduling. The dependencies were overly conservative for memory access that are known not to alias. llvm-svn: 86580
-
Dan Gohman authored
llvm-svn: 86575
-
Dan Gohman authored
the loop. This is needed because with indirectbr it may not be possible for LoopSimplify to guarantee that all loop exit predecessors are inside the loop. This fixes PR5437. LCCSA no longer actually requires LoopSimplify form, but for now it must still have the dependency because the PassManager doesn't know how to schedule LoopSimplify otherwise. llvm-svn: 86569
-
Dan Gohman authored
llvm-svn: 86565
-
Dan Gohman authored
llvm-svn: 86564
-
Nuno Lopes authored
llvm-svn: 86549
-
Jim Grosbach authored
llvm-svn: 86548
-
Xerxes Ranby authored
Make lib/Support/Debug.cpp SetCurrentDebugType implementation part of llvm namespace to match function declaration in Debug.h. llvm-svn: 86544
-
Bruno Cardoso Lopes authored
http://llvm.org/bugs/show_bug.cgi?id=5149 llvm-svn: 86543
-
Chris Lattner authored
llvm-svn: 86525
-
Chris Lattner authored
it to a normal binop. Patch by Alastair Lynn, testcase by me. llvm-svn: 86524
-
Evan Cheng authored
llvm-svn: 86522
-
Evan Cheng authored
llvm-svn: 86521
-
Chris Lattner authored
putchar in case there is an error. llvm-svn: 86515
-
Chris Lattner authored
llvm-svn: 86511
-
Chris Lattner authored
llvm-svn: 86510
-
Chris Lattner authored
used by a chain of other PHIs. llvm-svn: 86503
-