Skip to content
  1. Feb 13, 2009
  2. Feb 12, 2009
  3. Feb 11, 2009
    • Nate Begeman's avatar
      the two non-mask arguments to a shufflevector must be the same width, but they... · 318aea93
      Nate Begeman authored
      the two non-mask arguments to a shufflevector must be the same width, but they do not have to be the same
      width as the result value.
      
      llvm-svn: 64335
      318aea93
    • Bill Wendling's avatar
      Propagate DebugLoc info for spiller call-backs. · 27b508db
      Bill Wendling authored
      llvm-svn: 64329
      27b508db
    • Dan Gohman's avatar
      Fix a comment. · 45889d24
      Dan Gohman authored
      llvm-svn: 64328
      45889d24
    • Dan Gohman's avatar
      Don't use special heuristics for nodes with no data predecessors · 6571ef35
      Dan Gohman authored
      unless they actually have data successors, and likewise for nodes
      with no data successors unless they actually have data precessors.
      
      llvm-svn: 64327
      6571ef35
    • Dan Gohman's avatar
      Delete the heuristic for non-livein CopyFromReg nodes. Non-liveinness · 298a2946
      Dan Gohman authored
      is determined by whether the node has a Flag operand. However, if the
      node does have a Flag operand, it will be glued to its register's
      def, so the heuristic would end up spuriously applying to whatever
      node is the def.
      
      llvm-svn: 64319
      298a2946
    • Dan Gohman's avatar
      Don't try to set an EFLAGS operand to dead if no instruction was created. · 27f85854
      Dan Gohman authored
      This fixes a bug introduced by r61215.
      
      llvm-svn: 64316
      27f85854
    • Dale Johannesen's avatar
      Make a transformation added in 63266 a bit less aggressive. · cc5fc44d
      Dale Johannesen authored
      It was transforming (x&y)==y to (x&y)!=0 in the case where
      y is variable and known to have at most one bit set (e.g. z&1).
      This is not correct; the expressions are not equivalent when y==0.
      I believe this patch salvages what can be salvaged, including
      all the cases in bt.ll.  Dan, please review.
      Fixes gcc.c-torture/execute/20040709-[12].c
      
      llvm-svn: 64314
      cc5fc44d
    • Bill Wendling's avatar
      Revert r64300 and r64301. These were causing the following errors respectively: · 5f14a013
      Bill Wendling authored
      During llvm-gcc bootstrap:
      
      Undefined symbols:
        "llvm::FPPassManager::doFinalization(llvm::Module&)", referenced from:
            (anonymous namespace)::CGPassManager::doFinalization(llvm::CallGraph&, llvm::Module&)
              in libLLVMipa.a(CallGraphSCCPass.o)
        "llvm::FPPassManager::doInitialization(llvm::Module&)", referenced from:
            (anonymous namespace)::CGPassManager::doInitialization(llvm::CallGraph&, llvm::Module&)
              in libLLVMipa.a(CallGraphSCCPass.o)
      ld: symbol(s) not found
      collect2: ld returned 1 exit status
      make[3]: *** [/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/obj-llvm/Release/bin/opt] Error 1
      
      During an LLVM release build:
      
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-register-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenRegisterInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td instruction names with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-enums -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrNames.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td instruction information with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Building X86.td assembly writer with tblgen
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-asm-writer -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenAsmWriter.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
      llvm[3]: Compiling InstructionCombining.cpp for Release build 
      if /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~dst/Developer/usr/bin/llvm-g++-4.2 -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3  -fno-exceptions  -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter  -fstrict-aliasing -Wstrict-aliasing -c -MMD -MP -MF "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.lo" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d" /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar/InstructionCombining.cpp -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o ; \
                 then /bin/mv -f "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Trans
      
      llvm-svn: 64311
      5f14a013
    • Duncan Sands's avatar
      These uses of "inline" can cause strange link-time · 5b334906
      Duncan Sands authored
      failures when building with optimization.  Just get
      rid of them.
      
      llvm-svn: 64301
      5b334906
    • Duncan Sands's avatar
      Make sure the SCC pass manager initializes any contained · 003754f6
      Duncan Sands authored
      function pass managers.  Without this, simplify-libcalls
      would add nocapture attributes when run on its own, but
      not when run as part of -std-compile-opts or similar.
      
      llvm-svn: 64300
      003754f6
    • Evan Cheng's avatar
      Implement PR3495: local spiller optimization. The local spiller can now keep... · a1968b0f
      Evan Cheng authored
      Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies.
      
      llvm-svn: 64298
      a1968b0f
    • Dan Gohman's avatar
      When scheduling a block in parts, keep track of the overall · dfaf646c
      Dan Gohman authored
      instruction index across each part. Instruction indices are used
      to make live range queries, and live ranges can extend beyond
      scheduling region boundaries.
      
      Refactor the ScheduleDAGSDNodes class some more so that it
      doesn't have to worry about this additional information.
      
      llvm-svn: 64288
      dfaf646c
    • Devang Patel's avatar
Loading