Skip to content
  1. Jun 23, 2012
  2. Jun 22, 2012
    • Hal Finkel's avatar
      Revert r158679 - use case is unclear (and it increases the memory footprint). · 8db55472
      Hal Finkel authored
      Original commit message:
          Allow up to 64 functional units per processor itinerary.
      
          This patch changes the type used to hold the FU bitset from unsigned to uint64_t.
          This will be needed for some upcoming PowerPC itineraries.
      
      llvm-svn: 159027
      8db55472
    • Andrew Trick's avatar
      Use "NoItineraries" for processors with no itineraries. · 9c302673
      Andrew Trick authored
      This makes it explicit when ScoreboardHazardRecognizer will be used.
      "GenericItineraries" would only make sense if it contained real
      itinerary values and still required ScoreboardHazardRecognizer.
      
      llvm-svn: 158963
      9c302673
    • Jakob Stoklund Olesen's avatar
      Functions calling __builtin_eh_return must have a frame pointer. · 321d41a8
      Jakob Stoklund Olesen authored
      The code in X86TargetLowering::LowerEH_RETURN() assumes that a frame
      pointer exists, but the frame pointer was forced by the presence of
      llvm.eh.unwind.init which isn't guaranteed.
      
      If llvm.eh.unwind.init is actually required in functions calling
      eh.return (is it?), we should diagnose that instead of emitting bad
      machine code.
      
      This should fix the dragonegg-x86_64-linux-gcc-4.6-test bot.
      
      llvm-svn: 158961
      321d41a8
    • Andrew Trick's avatar
      ARM scheduling fix: don't guess at implicit operand latency. · 77d0b889
      Andrew Trick authored
      This is a minor drive-by fix with no robust way to unit test.
      As an example see neon-div.ll:
      SU(16):   %Q8<def> = VMOVLsv4i32 %D17, pred:14, pred:%noreg, %Q8<imp-use,kill>
       val SU(1): Latency=2 Reg=%Q8
      ...should be latency=1
      
      llvm-svn: 158960
      77d0b889
    • Andrew Trick's avatar
      ARM scheduling fix: compute predicated implicit use properly. · 3ccb1b8c
      Andrew Trick authored
      Minor drive by fix to cleanup latency computation. Calling
      getOperandLatency with a deliberately incorrect operand index does not
      give you the latency you want.
      
      llvm-svn: 158959
      3ccb1b8c
    • Lang Hames's avatar
      Rename -allow-excess-fp-precision flag to -fuse-fp-ops, and switch from a · b8650f10
      Lang Hames authored
      boolean flag to an enum: { Fast, Standard, Strict } (default = Standard).
      
      This option controls the creation by optimizations of fused FP ops that store
      intermediate results in higher precision than IEEE allows (E.g. FMAs). The
      behavior of this option is intended to match the behaviour specified by a
      soon-to-be-introduced frontend flag: '-ffuse-fp-ops'.
      
      Fast mode - allows formation of fused FP ops whenever they're profitable.
      
      Standard mode - allow fusion only for 'blessed' FP ops. At present the only
      blessed op is the fmuladd intrinsic. In the future more blessed ops may be
      added.
      
      Strict mode - allow fusion only if/when it can be proven that the excess
      precision won't effect the result.
      
      Note: This option only controls formation of fused ops by the optimizers.  Fused
      operations that are explicitly requested (e.g. FMA via the llvm.fma.* intrinsic)
      will always be honored, regardless of the value of this option.
      
      Internally TargetOptions::AllowExcessFPPrecision has been replaced by
      TargetOptions::AllowFPOpFusion.
      
      llvm-svn: 158956
      b8650f10
    • Hal Finkel's avatar
      Convert the PPC backend to use the new FMA infrastructure. · 0a479ae7
      Hal Finkel authored
      The existing contraction patterns are replaced with fma/fneg.
      Overall functionality should be the same.
      
      llvm-svn: 158955
      0a479ae7
  3. Jun 21, 2012
    • Akira Hatanaka's avatar
      1. fix null program output after some other changes · 765c3123
      Akira Hatanaka authored
      2. re-enable null.ll test
      3. fix some minor style violations
      
      Patch by Reed Kotler.
      
      llvm-svn: 158935
      765c3123
    • Hal Finkel's avatar
      Treat TargetGlobalAddress as a constant for the purpose of matching pre-inc stores on PPC. · a86b0f20
      Hal Finkel authored
      Thanks to Tobias von Koch for pointing out this problem.
      
      llvm-svn: 158932
      a86b0f20
    • Jack Carter's avatar
      The inline asm operand modifier 'c' is suppose · b2fd5f66
      Jack Carter authored
      to be generic across architectures. It has the
      following description in the gnu sources:
      
          Substitute immediate value without immediate syntax
      
      Several Architectures such as x86 have local implementations
      of operand modifier 'c' which go beyond the above description
      slightly. To make use of the generic modifiers without overriding
      local implementation one can make a call to the base class method
      for AsmPrinter::PrintAsmOperand() in the locally derived method's 
      "default" case in the switch statement. That way if it is already
      defined locally the generic version will never get called.
      
      This change is needed when test/CodeGen/generic/asm-large-immediate.ll
      failed on a native Mips board. The test was assuming a generic
      implementation was in place.
      
      Affected files:
      
          lib/Target/Mips/MipsAsmPrinter.cpp:
              Changed the default case to call the base method.
          lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
              Added 'c' to the switch cases.
          test/CodeGen/Mips/asm-large-immediate.ll
              Mips compiled version of the generic one
      
      Contributer: Jack Carter
      llvm-svn: 158925
      b2fd5f66
    • Lang Hames's avatar
      Add a missing llvm.fma -> VFNMS pattern to the ARM backend. · 90b2a4cb
      Lang Hames authored
      llvm-svn: 158902
      90b2a4cb
  4. Jun 20, 2012
  5. Jun 19, 2012
  6. Jun 18, 2012
Loading