Skip to content
  1. Oct 23, 2010
  2. Oct 21, 2010
  3. Oct 19, 2010
    • Owen Anderson's avatar
      Get rid of static constructors for pass registration. Instead, every pass... · 6c18d1aa
      Owen Anderson authored
      Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
      must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
      the pass's dependencies.
      
      Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
      CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
      before parsing commandline arguments.
      
      I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
      with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
      registration/creation, please send the testcase to me directly.
      
      llvm-svn: 116820
      6c18d1aa
  4. Oct 08, 2010
  5. Oct 07, 2010
  6. Oct 02, 2010
  7. Aug 23, 2010
  8. Aug 19, 2010
  9. Aug 06, 2010
  10. Aug 05, 2010
  11. Jun 19, 2010
    • Evan Cheng's avatar
      Allow ARM if-converter to be run after post allocation scheduling. · 2d51c7c5
      Evan Cheng authored
      - This fixed a number of bugs in if-converter, tail merging, and post-allocation
        scheduler. If-converter now runs branch folding / tail merging first to
        maximize if-conversion opportunities.
      - Also changed the t2IT instruction slightly. It now defines the ITSTATE
        register which is read by instructions in the IT block.
      - Added Thumb2 specific hazard recognizer to ensure the scheduler doesn't
        change the instruction ordering in the IT block (since IT mask has been
        finalized). It also ensures no other instructions can be scheduled between
        instructions in the IT block.
      
      This is not yet enabled.
      
      llvm-svn: 106344
      2d51c7c5
  12. May 18, 2010
  13. May 14, 2010
  14. Apr 15, 2010
  15. Apr 13, 2010
  16. Apr 08, 2010
  17. Feb 09, 2010
  18. Jan 05, 2010
    • Jakob Stoklund Olesen's avatar
      Remove livein checks from machine code verifier. · 4cb7702c
      Jakob Stoklund Olesen authored
      A phi operand that is implicitly defined in a predecessor becomes an undefined
      register after phi elimination. This causes a lot of false positives when the
      verifier is checking if live-in registers are live-out from all predecessors.
      
      Removing the verifier checks seems like a better solution than insisting on
      IMPLICIT_DEF instructions in predecessor blocks.
      
      llvm-svn: 92769
      4cb7702c
  19. Dec 22, 2009
  20. Dec 05, 2009
  21. Nov 20, 2009
  22. Nov 18, 2009
  23. Nov 13, 2009
  24. Oct 31, 2009
    • Dan Gohman's avatar
      Make -print-machineinstrs more readable. · 34341e69
      Dan Gohman authored
       - Be consistent when referring to MachineBasicBlocks: BB#0.
       - Be consistent when referring to virtual registers: %reg1024.
       - Be consistent when referring to unknown physical registers: %physreg10.
       - Be consistent when referring to known physical registers: %RAX
       - Be consistent when referring to register 0: %reg0
       - Be consistent when printing alignments: align=16
       - Print jump table contents.
       - Don't print host addresses, in general.
       - and various other cleanups.
      
      llvm-svn: 85682
      34341e69
  25. Oct 25, 2009
  26. Oct 07, 2009
  27. Oct 04, 2009
  28. Sep 23, 2009
    • Jakob Stoklund Olesen's avatar
      Fix verification of explicit operands. · 75b9c274
      Jakob Stoklund Olesen authored
      The machine code verifier did not check for explicit operands correctly. It
      used MachineInstr::getNumExplicitOperands, but that method may cheat and use
      the declared count in the TargetInstrDesc.
      
      Now we check the explicit operands one at a time in visitMachineOperand.
      
      llvm-svn: 82652
      75b9c274
  29. Sep 21, 2009
  30. Aug 27, 2009
Loading