- Oct 08, 2007
-
-
Dan Gohman authored
for consistency. llvm-svn: 42769
-
Dan Gohman authored
use ISD::{S,U}DIVREM and ISD::{S,U}MUL_HIO. Move the lowering code associated with these operators into target-independent in LegalizeDAG.cpp and TargetLowering.cpp. llvm-svn: 42762
-
Dan Gohman authored
Check if one of the two results unneeded so see if a simpler operator could bs used. Also check to see if each of the two computations could be simplified if they were split into separate operators. Factor out the code that calls visit() so that it can be used for this purpose. llvm-svn: 42759
-
Dan Gohman authored
and individual SDOperand operands. llvm-svn: 42753
-
Dan Gohman authored
optimization passes. llvm-svn: 42749
-
Evan Cheng authored
llvm-svn: 42742
-
- Oct 07, 2007
-
-
Neil Booth authored
input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. llvm-svn: 42732
-
- Oct 06, 2007
-
-
Evan Cheng authored
llvm-svn: 42692
-
Chris Lattner authored
llvm-svn: 42686
-
Evan Cheng authored
(vextract (v4f32 s2v (f32 load $addr)), 0) -> (f32 load $addr) (vextract (v4i32 bc (v4f32 s2v (f32 load $addr))), 0) -> (i32 load $addr) Remove x86 specific patterns. llvm-svn: 42677
-
Dale Johannesen authored
although not well, and shortening FP converts. llvm-svn: 42672
-
- Oct 05, 2007
-
-
Dale Johannesen authored
basic arithmetic works. Rename RTLIB long double functions to distinguish different flavors of long double; the lib functions have different names, alas. llvm-svn: 42644
-
Dan Gohman authored
llvm-svn: 42636
-
Dan Gohman authored
llvm-svn: 42635
-
Dan Gohman authored
llvm-svn: 42634
-
Evan Cheng authored
llvm-svn: 42627
-
Evan Cheng authored
llvm-svn: 42626
-
Evan Cheng authored
scheduler will try a number of tricks in order to avoid generating the copies. This may not be possible in case the node produces a chain value that prevent movement. Try unfolding the load from the node before to allow it to be moved / cloned. llvm-svn: 42625
-
Evan Cheng authored
llvm-svn: 42620
-
Evan Cheng authored
llvm-svn: 42619
-
- Oct 03, 2007
-
-
Dan Gohman authored
of comparing begin() and end(). llvm-svn: 42585
-
- Oct 02, 2007
-
-
Dale Johannesen authored
llvm-svn: 42537
-
Dale Johannesen authored
llvm-svn: 42508
-
Dan Gohman authored
SourceFiles list is fully filled in so that it sees all of the files. llvm-svn: 42506
-
- Oct 01, 2007
-
-
Evan Cheng authored
llvm-svn: 42499
-
- Sep 30, 2007
-
-
Dale Johannesen authored
llvm-svn: 42486
-
Dale Johannesen authored
use APFloat for int-to-float/double; use round-to-nearest for these (implementation-defined, seems to match gcc). llvm-svn: 42484
-
- Sep 29, 2007
-
-
Gordon Henriksen authored
llvm-svn: 42467
-
Gordon Henriksen authored
This version enhances the previous patch to add root initialization as discussed here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html Collector gives its subclasses control over generic algorithms: unsigned NeededSafePoints; //< Bitmask of required safe points. bool CustomReadBarriers; //< Default is to insert loads. bool CustomWriteBarriers; //< Default is to insert stores. bool CustomRoots; //< Default is to pass through to backend. bool InitRoots; //< If set, roots are nulled during lowering. It also has callbacks which collectors can hook: /// If any of the actions are set to Custom, this is expected to /// be overriden to create a transform to lower those actions to /// LLVM IR. virtual Pass *createCustomLoweringPass() const; /// beginAssembly/finishAssembly - Emit module metadata as /// assembly code. virtual void beginAssembly(Module &M, std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI) const; virtual void finishAssembly(Module &M, CollectorModuleMetadata &CMM, std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI) const; Various other independent algorithms could be implemented, but were not necessary for the initial two collectors. Some examples are listed here: http://llvm.org/docs/GarbageCollection.html#collector-algos llvm-svn: 42466
-
Dan Gohman authored
llvm-svn: 42457
-
Evan Cheng authored
terminator) the one that has a CopyToReg use. This fixes 2006-05-11-InstrSched.ll with -new-cc-modeling-scheme. llvm-svn: 42453
-
- Sep 28, 2007
-
-
Evan Cheng authored
llvm-svn: 42443
-
Evan Cheng authored
llvm-svn: 42442
-
Dale Johannesen authored
llvm-svn: 42440
-
Dale Johannesen authored
llvm-svn: 42439
-
Dan Gohman authored
add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf. llvm-svn: 42435
-
Dan Gohman authored
targets with 64-bit addresses. llvm-svn: 42434
-
Dale Johannesen authored
llvm-svn: 42423
-
Dan Gohman authored
other than PPC64. Instead of fixing it, just remove it and fix all the places that use it to use TargetData::getPointerSize() instead, as there aren't very many. Most of the references were in DwarfWriter.cpp. llvm-svn: 42419
-
Gordon Henriksen authored
It includes: - location and of each safe point in machine code (identified by a label) - location of each root within the stack frame (identified by an offset), including the metadata tag provided to llvm.gcroot in the user program - size of the stack frame (for collectors which want to cheat on stack crawling :) - and eventually will include liveness It is to be populated by back-ends during code-generation. CollectorModuleMetadata aggregates this information across the entire module. llvm-svn: 42418
-