Skip to content
  1. Jul 18, 2011
  2. Jul 16, 2011
    • Bruno Cardoso Lopes's avatar
      Fix a couple of things: · 8df9cfc2
      Bruno Cardoso Lopes authored
      1) Make non-legal 256-bit loads to be promoted to v4i64. This lets us
      canonize the loads and handle things the same way we use to handle
      for 128-bit registers. Despite of what one of the removed comments
      explained, the load promotion would not mess with VPERM, it's only a
      matter of doing the appropriate bitcasts when this instructions comes
      to be introduced. Also make LOAD v8i32 legal.
      
      2) Doing 1) exposed two bugs:
      - v4i64 was being promoted to itself for several opcodes (introduced
      in r124447 by David Greene) causing endless recursion and the stack to
      explode.
      - there was no support for allOnes BUILD_VECTORs and ANDNP would fail to
      match because it was generating early target constant pools during
      lowering.
      
      3) The testcases are already checked-in, doing 1) exposed the
      bugs in the current testcases.
      
      4) Tidy up code to be more clear and explicit about AVX.
      
      llvm-svn: 135313
      8df9cfc2
  3. Jul 14, 2011
    • Eric Christopher's avatar
      Check register class matching instead of width of type matching · 92464be2
      Eric Christopher authored
      when determining validity of matching constraint. Allow i1
      types access to the GR8 reg class for x86.
      
      Fixes PR10352 and rdar://9777108
      
      llvm-svn: 135180
      92464be2
    • Nadav Rotem's avatar
      · 771f2967
      Nadav Rotem authored
      [VECTOR-SELECT]
      During type legalization we often use the SIGN_EXTEND_INREG SDNode.
      When this SDNode is legalized during the LegalizeVector phase, it is
      scalarized because non-simple types are automatically marked to be expanded.
      In this patch we add support for lowering SIGN_EXTEND_INREG manually.
      This fixes CodeGen/X86/vec_sext.ll when running with the '-promote-elements'
      flag.
      
      llvm-svn: 135144
      771f2967
  4. Jul 13, 2011
  5. Jul 08, 2011
  6. Jun 29, 2011
  7. Jun 28, 2011
    • Jakob Stoklund Olesen's avatar
      Clean up the handling of the x87 fp stack to make it more robust. · 7297e7e2
      Jakob Stoklund Olesen authored
      Drop the FpMov instructions, use plain COPY instead.
      
      Drop the FpSET/GET instruction for accessing fixed stack positions.
      Instead use normal COPY to/from ST registers around inline assembly, and
      provide a single new FpPOP_RETVAL instruction that can access the return
      value(s) from a call. This is still necessary since you cannot tell from
      the CALL instruction alone if it returns anything on the FP stack. Teach
      fast isel to use this.
      
      This provides a much more robust way of handling fixed stack registers -
      we can tolerate arbitrary FP stack instructions inserted around calls
      and inline assembly. Live range splitting could sometimes break x87 code
      by inserting spill code in unfortunate places.
      
      As a bonus we handle floating point inline assembly correctly now.
      
      llvm-svn: 134018
      7297e7e2
  8. Jun 25, 2011
  9. Jun 24, 2011
  10. Jun 23, 2011
  11. Jun 18, 2011
  12. Jun 15, 2011
    • John McCall's avatar
      Add a new function attribute, nonlazybind, which inhibits lazy-loading · 4b7a8d68
      John McCall authored
      optimizations when emitting calls to the function;  instead those calls may
      use faster relocations which require the function to be immediately resolved
      upon loading the dynamic object featuring the call.  This is useful when it
      is known that the function will be called frequently and pervasively and
      therefore there is no merit in delaying binding of the function.
      
      Currently only implemented for x86-64, where it turns into a call through
      the global offset table.
      
      Patch by Dan Gohman, who assures me that he's going to add LangRef documentation
      for this once it's committed.
      
      llvm-svn: 133080
      4b7a8d68
  13. Jun 09, 2011
  14. Jun 07, 2011
  15. Jun 04, 2011
  16. Jun 03, 2011
  17. Jun 02, 2011
  18. Jun 01, 2011
  19. May 26, 2011
  20. May 24, 2011
  21. May 20, 2011
  22. May 19, 2011
  23. May 18, 2011
  24. May 17, 2011
Loading