Skip to content
  1. Nov 13, 2008
  2. Nov 04, 2008
    • Bill Wendling's avatar
      Update in response to feedback from Chris: · 64adc71e
      Bill Wendling authored
      - Use enums instead of magic numbers.
      
      - Rework algorithm to use the bytes size from the target to determine when to
        emit stack protectors.
      
      - Get rid of "propolice" in any comments.
      
      - Renamed an option to its expanded form.
      
      - Other miscellanenous changes.
      
      More changes will come after this.
      
      llvm-svn: 58723
      64adc71e
    • Bill Wendling's avatar
      Initial checkin for stack protectors. Here's what it does: · 05d8417f
      Bill Wendling authored
      * The prologue is modified to read the __stack_chk_guard global and insert it
        onto the stack.
      
      * The epilogue is modified to read the stored guard from the stack and compare
        it to the original __stack_chk_guard value. If they differ, then the
        __stack_chk_fail() function is called.
      
      * The stack protector needs to be first on the stack (after the parameters) to
        catch any stack-smashing activities.
      
      Front-end support will follow after a round of beta testing.
      
      llvm-svn: 58673
      05d8417f
  3. Oct 25, 2008
    • Dan Gohman's avatar
      Move the code that adds the DeadMachineInstructionElimPass from · 19145317
      Dan Gohman authored
      target-independent code to target-specific code. This prevents it
      from running on targets that aren't using fast-isel.
      
      In addition to saving compile time, this addresses the problem
      that not all targets are prepared for it. In order to use this
      pass, all instructions must declare all their fixed uses and
      defs of physical registers.
      
      llvm-svn: 58144
      19145317
  4. Oct 22, 2008
  5. Oct 08, 2008
  6. Oct 02, 2008
  7. Oct 01, 2008
  8. Sep 25, 2008
  9. Aug 21, 2008
  10. Aug 17, 2008
    • Gordon Henriksen's avatar
      Rename some GC classes so that their roll will hopefully be clearer. · d930f913
      Gordon Henriksen authored
      In particular, Collector was confusing to implementors. Several
      thought that this compile-time class was the place to implement
      their runtime GC heap. Of course, it doesn't even exist at runtime.
      Specifically, the renames are:
      
        Collector               -> GCStrategy
        CollectorMetadata       -> GCFunctionInfo
        CollectorModuleMetadata -> GCModuleInfo
        CollectorRegistry       -> GCRegistry
        Function::getCollector  -> getGC (setGC, hasGC, clearGC)
      
      Several accessors and nested types have also been renamed to be
      consistent. These changes should be obvious.
      
      llvm-svn: 54899
      d930f913
    • Gordon Henriksen's avatar
      Factor GC metadata table assembly generation out of Collector in preparation... · bcef14d2
      Gordon Henriksen authored
      Factor GC metadata table assembly generation out of Collector in preparation for splitting AsmPrinter into its own library.
      
      llvm-svn: 54881
      bcef14d2
  11. Jul 01, 2008
  12. Jun 06, 2008
  13. Jun 04, 2008
  14. Jun 03, 2008
  15. May 31, 2008
  16. Apr 23, 2008
  17. Apr 02, 2008
    • Dale Johannesen's avatar
      Recommitting EH patch; this should answer most of the · fd967cf3
      Dale Johannesen authored
      review feedback.
      -enable-eh is still accepted but doesn't do anything.
      EH intrinsics use Dwarf EH if the target supports that,
      and are handled by LowerInvoke otherwise.
      The separation of the EH table and frame move data is,
      I think, logically figured out, but either one still
      causes full EH info to be generated (not sure how to
      split the metadata correctly).
      MachineModuleInfo::needsFrameInfo is no longer used and
      is removed.
      
      llvm-svn: 49064
      fd967cf3
  18. Apr 01, 2008
  19. Mar 25, 2008
  20. Mar 11, 2008
  21. Feb 29, 2008
  22. Feb 13, 2008
  23. Jan 14, 2008
  24. Jan 07, 2008
  25. Jan 05, 2008
  26. Jan 04, 2008
    • Bill Wendling's avatar
      Move option to enable machine LICM into LLVMTargetMachine.cpp. · 66470d02
      Bill Wendling authored
      llvm-svn: 45572
      66470d02
    • Chris Lattner's avatar
      Add a really quick hack at a machine code sinking pass, enabled with --enable-sinking. · f3edc09f
      Chris Lattner authored
      It is missing validity checks, so it is known broken.  However, it is powerful enough
      to compile this contrived code:
      
      void test1(int C, double A, double B, double *P) {
        double Tmp = A*A+B*B;
        *P = C ? Tmp : A;
      }
      
      into:
      
      _test1:
      	movsd	8(%esp), %xmm0
      	cmpl	$0, 4(%esp)
      	je	LBB1_2	# entry
      LBB1_1:	# entry
      	movsd	16(%esp), %xmm1
      	mulsd	%xmm1, %xmm1
      	mulsd	%xmm0, %xmm0
      	addsd	%xmm1, %xmm0
      LBB1_2:	# entry
      	movl	24(%esp), %eax
      	movsd	%xmm0, (%eax)
      	ret
      
      instead of:
      
      _test1:
      	movsd	16(%esp), %xmm0
      	mulsd	%xmm0, %xmm0
      	movsd	8(%esp), %xmm1
      	movapd	%xmm1, %xmm2
      	mulsd	%xmm2, %xmm2
      	addsd	%xmm0, %xmm2
      	cmpl	$0, 4(%esp)
      	je	LBB1_2	# entry
      LBB1_1:	# entry
      	movapd	%xmm2, %xmm1
      LBB1_2:	# entry
      	movl	24(%esp), %eax
      	movsd	%xmm1, (%eax)
      	ret
      
      woo.
      
      llvm-svn: 45570
      f3edc09f
  27. Dec 29, 2007
  28. Dec 07, 2007
    • Bill Wendling's avatar
      Initial commit of the machine code LICM pass. It successfully hoists this: · fb706bc5
      Bill Wendling authored
      _foo:
              li r2, 0
      LBB1_1: ; bb
              li r5, 0
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr 
      
      to:
      
      _foo:
              li r2, 0
              li r5, 0
      LBB1_1: ; bb
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr
      
      ZOMG!! :-)
      
      Moar to come...
      
      llvm-svn: 44687
      fb706bc5
  29. Jul 27, 2007
  30. Jul 26, 2007
  31. Jul 20, 2007
Loading