|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 91918 | 
| | 
| 
| 
| | llvm-svn: 91886 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | result
instead of stored.  This reduces memdep memory usage, and also eliminates a bunch of
weakvh's.  This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x)
on a different machine than earlier.
llvm-svn: 91885 | 
| | 
| 
| 
| 
| 
| 
| 
| | return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
llvm-svn: 91880 | 
| | 
| 
| 
| | llvm-svn: 91877 | 
| | 
| 
| 
| | llvm-svn: 91873 | 
| | 
| 
| 
| | llvm-svn: 91867 | 
| | 
| 
| 
| 
| 
| | This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals.
llvm-svn: 91859 | 
| | 
| 
| 
| 
| 
| | - Modify the "dump" method to emit the order of an SDNode.
llvm-svn: 91845 | 
| | 
| 
| 
| 
| 
| | two reasons: 1. Accroding to C++ standard snprintf should be available in std namespace (and __gnu_cxx in case of GCC to). Such ifdef will change all snprintf's to _snprintf's, but won't bring snprintf to all necessary namespaces. Thus e.g. any locale-using code on mingw will yield an error (include this file + string to see the result) 2. MSVCRT's _snprintf does not comply with C99 standard. Standard one is snprintf.
llvm-svn: 91842 | 
| | 
| 
| 
| | llvm-svn: 91834 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | by allowing backends to override routines that will default
the JIT and Static code generation to an appropriate code model
for the architecture.
Should fix PR 5773.
llvm-svn: 91824 | 
| | 
| 
| 
| | llvm-svn: 91822 | 
| | 
| 
| 
| | llvm-svn: 91819 | 
| | 
| 
| 
| 
| 
| | bit more verbose, but optimize to much shorter code.
llvm-svn: 91817 | 
| | 
| 
| 
| | llvm-svn: 91790 | 
| | 
| 
| 
| | llvm-svn: 91764 | 
| | 
| 
| 
| | llvm-svn: 91752 | 
| | 
| 
| 
| | llvm-svn: 91743 | 
| | 
| 
| 
| 
| 
| 
| 
| | it changes raw_fd_ostream::preferred_buffer_size to return zero on
a scary stat failure instead of setting the stream to an error state.
This method really should not mutate the stream.
llvm-svn: 91740 | 
| | 
| 
| 
| | llvm-svn: 91732 | 
| | 
| 
| 
| | llvm-svn: 91729 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - Move DisableScheduling flag into TargetOption.h
- Move SDNodeOrdering into its own header file. Give it a minimal interface that
  doesn't conflate construction with storage.
- Move assigning the ordering into the SelectionDAGBuilder.
This isn't used yet, so there should be no functional changes.
llvm-svn: 91727 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
llvm-svn: 91708 | 
| | 
| 
| 
| | llvm-svn: 91664 | 
| | 
| 
| 
| 
| 
| | Integer negation only overflows with INT_MIN, but that's an important case.
llvm-svn: 91662 | 
| | 
| 
| 
| | llvm-svn: 91656 | 
| | 
| 
| 
| 
| 
| 
| 
| | contains another loop, or an instruction. The loop form is
substantially more efficient on large loops than the typical
code it replaces.
llvm-svn: 91654 | 
| | 
| 
| 
| 
| 
| 
| 
| | of 91296 that caused trouble -- the Processed list needs to be
preserved for the livetime of the pass, as AddUsersIfInteresting
is called from other passes.
llvm-svn: 91641 | 
| | 
| 
| 
| | llvm-svn: 91636 | 
| | 
| 
| 
| | llvm-svn: 91622 | 
| | 
| 
| 
| | llvm-svn: 91620 | 
| | 
| 
| 
| | llvm-svn: 91617 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple
type by one, getHalfSizedIntegerVT() searches for the smallest simple integer
type that is at least half the size of the type it is called on. This approach
has the advantage that it will continue working if a new value type (such as
i24) is added to MVT.
Also, in preparation for new value types, remove the assertions that
non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and
truncstore operations.
llvm-svn: 91614 | 
| | 
| 
| 
| | llvm-svn: 91611 | 
| | 
| 
| 
| | llvm-svn: 91609 | 
| | 
| 
| 
| 
| 
| | introduced a non-deterministic behavior in the optimizer somewhere.
llvm-svn: 91598 | 
| | 
| 
| 
| | llvm-svn: 91594 | 
| | 
| 
| 
| | llvm-svn: 91582 | 
| | 
| 
| 
| 
| 
| | having it reverted does no good.
llvm-svn: 91560 | 
| | 
| 
| 
| | llvm-svn: 91554 | 
| | 
| 
| 
| | llvm-svn: 91536 | 
| | 
| 
| 
| 
| 
| 
| | this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
llvm-svn: 91533 | 
| | 
| 
| 
| | llvm-svn: 91531 | 
| | 
| 
| 
| | llvm-svn: 91530 | 
| | 
| 
| 
| 
| 
| | SmallVectorBase::grow_pod out of line, finally satisfying PR3758.
llvm-svn: 91529 | 
| | 
| 
| 
| 
| 
| | common function.  It is still an inline method, which will be fixed next.
llvm-svn: 91526 | 
| | 
| 
| 
| | llvm-svn: 91524 | 
| | 
| 
| 
| 
| 
| 
| | SmallVectorTemplateBase class, which allows us to statically
dispatch on isPodLike instead of dynamically.
llvm-svn: 91523 | 
| | 
| 
| 
| 
| 
| 
| | down into SmallVectorImpl.  This requires sprinking a ton of this->'s in,
but gives us a place to factor.
llvm-svn: 91522 |