oota-llvm.git
17 years agoclarify precedence, no functionality change.
Chris Lattner [Mon, 20 Aug 2007 21:31:08 +0000 (21:31 +0000)]
clarify precedence, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41199 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd reverse iterators to smallvector
Chris Lattner [Mon, 20 Aug 2007 21:22:48 +0000 (21:22 +0000)]
add reverse iterators to smallvector

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41198 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- Use correct header for SCEV inside LoopPass.cpp
Anton Korobeynikov [Mon, 20 Aug 2007 21:17:26 +0000 (21:17 +0000)]
- Use correct header for SCEV inside LoopPass.cpp
- Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41197 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoReplace indunction variable with split value in loop body.
Devang Patel [Mon, 20 Aug 2007 20:49:01 +0000 (20:49 +0000)]
Replace indunction variable with split value in loop body.
This fixes art miscompile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41195 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDo not split loops rejected by processOneIterationLoop().
Devang Patel [Mon, 20 Aug 2007 20:24:15 +0000 (20:24 +0000)]
Do not split loops rejected by processOneIterationLoop().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41194 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd FilteredPassNameParser along with PassArgFilter to filter passes
David Greene [Mon, 20 Aug 2007 19:54:01 +0000 (19:54 +0000)]
Add FilteredPassNameParser along with PassArgFilter to filter passes
based on their Arg members.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41192 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMinor cleanups to reduce some spurious differences between different
Dan Gohman [Mon, 20 Aug 2007 19:28:38 +0000 (19:28 +0000)]
Minor cleanups to reduce some spurious differences between different
scheduler implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41191 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd Type::isIntOrIntVector, like Type::isFPOrFPVector.
Dan Gohman [Mon, 20 Aug 2007 19:25:59 +0000 (19:25 +0000)]
Add Type::isIntOrIntVector, like Type::isFPOrFPVector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41190 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen Intrinsic::getName is constructing names for overloaded intrinsics,
Dan Gohman [Mon, 20 Aug 2007 19:23:34 +0000 (19:23 +0000)]
When Intrinsic::getName is constructing names for overloaded intrinsics,
use the ValueType name instead of the llvm type name, to match what the
verifier expects. For integers these are the same, but for floating-point
values the intrinsics use f32/f64 instead of float/double.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41189 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix this test for gcc-4.2.
Duncan Sands [Mon, 20 Aug 2007 17:14:02 +0000 (17:14 +0000)]
Fix this test for gcc-4.2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41187 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPartial implementation of calling functions with byval arguments:
Rafael Espindola [Mon, 20 Aug 2007 15:18:24 +0000 (15:18 +0000)]
Partial implementation of calling functions with byval arguments:
 *) The needed information is propagated to the DAG
 *) The X86-64 backend detects it and aborts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41179 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Mon, 20 Aug 2007 02:14:33 +0000 (02:14 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41178 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoupdate the xcode project file, patch by Gordon Henriksen
Chris Lattner [Mon, 20 Aug 2007 00:56:12 +0000 (00:56 +0000)]
update the xcode project file, patch by Gordon Henriksen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41175 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix PR1611 - Visibility should be ignored for a declaration
Chris Lattner [Sun, 19 Aug 2007 22:22:54 +0000 (22:22 +0000)]
Fix PR1611 - Visibility should be ignored for a declaration
when a definition's visibility is different.  Likewise, the
visibility of two declarations mismatching is not an error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41174 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosimplify code and print visibility for declarations.
Chris Lattner [Sun, 19 Aug 2007 22:15:26 +0000 (22:15 +0000)]
simplify code and print visibility for declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41173 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd mips target to builder. I'd appreciate it if someone with
Chris Lattner [Sun, 19 Aug 2007 20:45:10 +0000 (20:45 +0000)]
add mips target to builder.  I'd appreciate it if someone with
the right version of autoconf could regenerate the configure script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41172 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoOops, remove assert that wasn't meant to be committed.
Nick Lewycky [Sat, 18 Aug 2007 23:21:28 +0000 (23:21 +0000)]
Oops, remove assert that wasn't meant to be committed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41170 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNever insert duplicate edges.
Nick Lewycky [Sat, 18 Aug 2007 23:18:03 +0000 (23:18 +0000)]
Never insert duplicate edges.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41169 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTypo.
Nick Lewycky [Sat, 18 Aug 2007 15:08:56 +0000 (15:08 +0000)]
Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41168 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSimplify.
Nick Lewycky [Sat, 18 Aug 2007 14:46:55 +0000 (14:46 +0000)]
Simplify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41167 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCompute the argument list as lazily as possible. This ensures that clients
Chris Lattner [Sat, 18 Aug 2007 06:14:52 +0000 (06:14 +0000)]
Compute the argument list as lazily as possible.  This ensures that clients
that don't use it don't have to pay the memory cost for the arguments.  This
allows us to avoid creating Argument nodes for many prototypes and for clients
who lazily deserialize code from a bytecode file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41166 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agouse a nicer accessor.
Chris Lattner [Sat, 18 Aug 2007 06:13:19 +0000 (06:13 +0000)]
use a nicer accessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41165 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest dag xform: Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C)
Evan Cheng [Sat, 18 Aug 2007 06:11:57 +0000 (06:11 +0000)]
Test dag xform: Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41164 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFold C ? 0 : 1 to ~C or zext(~C) or trunc(~C) depending the types.
Evan Cheng [Sat, 18 Aug 2007 05:57:05 +0000 (05:57 +0000)]
Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C) depending the types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41163 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMipsHi now has ouput flag
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:37:46 +0000 (02:37 +0000)]
MipsHi now has ouput flag
MipsAdd SDNode created to add support to an Add opcode which supports input flag
Added an instruction itinerary to all instruction classes
Added branches with zero cond codes
Now call clobbers all non-callee saved registers
Call w/ register support added
Added DelaySlot to branch and load instructions
Added patterns to handle all setcc, brcond/setcc and MipsAdd instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41161 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFixed stack frame addressing bug
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:19:09 +0000 (02:19 +0000)]
Fixed stack frame addressing bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41160 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosupport for Schedule included on Mips.td
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:18:07 +0000 (02:18 +0000)]
support for Schedule included on Mips.td

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41159 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemoved LowerRETURADDR, fixed small bug into LowerRET, LowerGlobalAddress
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:16:30 +0000 (02:16 +0000)]
Removed LowerRETURADDR, fixed small bug into LowerRET, LowerGlobalAddress
fixed to generate instructions (add, lui) glued!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41158 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCouple of small changes. Delay Slot handle header declared.
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:05:24 +0000 (02:05 +0000)]
Couple of small changes. Delay Slot handle header declared.
Newline added after macros at function init on generated asm!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41157 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdded InstrItinClass support for instruction formats
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:01:28 +0000 (02:01 +0000)]
Added InstrItinClass support for instruction formats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41156 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoBranch Analysis and InsertNoop inserted into header files
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:59:45 +0000 (01:59 +0000)]
Branch Analysis and InsertNoop inserted into header files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41155 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agocreateMipsDelaySlotFillerPass added to mips codegen runtime
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:58:15 +0000 (01:58 +0000)]
createMipsDelaySlotFillerPass added to mips codegen runtime

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41154 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdded Branch Analysis support
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:56:48 +0000 (01:56 +0000)]
Added Branch Analysis support
Added InsertNoop support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41153 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoLowerRETURNADDR removed since it was wrong and does not have utility yet!
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:54:09 +0000 (01:54 +0000)]
LowerRETURNADDR removed since it was wrong and does not have utility yet!
MipsAdd opcode added

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41152 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoInstrItineraryData support on added.
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:52:27 +0000 (01:52 +0000)]
InstrItineraryData support on added.
Added Mips3 ISA feature (needed when supporting R4000 machines)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41151 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoA Pass to insert Nops on intructions with DelaySlot
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:50:47 +0000 (01:50 +0000)]
A Pass to insert Nops on intructions with DelaySlot

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41150 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMips generic fallback instruction schedule support!
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:46:44 +0000 (01:46 +0000)]
Mips generic fallback instruction schedule support!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41149 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid spliting loops where two split condition branches are not independent.
Devang Patel [Sat, 18 Aug 2007 00:00:32 +0000 (00:00 +0000)]
Avoid spliting loops where two split condition branches are not independent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41148 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd loop index split tests.
Devang Patel [Fri, 17 Aug 2007 22:02:15 +0000 (22:02 +0000)]
Add loop index split tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41146 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen one branch of condition is eliminated then head of the other
Devang Patel [Fri, 17 Aug 2007 21:59:16 +0000 (21:59 +0000)]
When one branch of condition is eliminated then head of the other
branch is not necessary immediate dominators of merge blcok in all cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41144 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid issue on 64-bit hosts.
Evan Cheng [Fri, 17 Aug 2007 18:02:22 +0000 (18:02 +0000)]
Avoid issue on 64-bit hosts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41143 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimprove iplist comments. Switch iplist from allocating its sentinal object (for
Chris Lattner [Fri, 17 Aug 2007 16:49:19 +0000 (16:49 +0000)]
improve iplist comments.  Switch iplist from allocating its sentinal object (for
end()) eagerly to allocating it lazily.  This saves a lot of memory for JIT applications
that read a module but don't materialize most of the functions (e.g. 62K for 252.eon).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41142 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix GLIBCXX_DEBUG error of comparing two singular iterators
David Greene [Fri, 17 Aug 2007 15:13:55 +0000 (15:13 +0000)]
Fix GLIBCXX_DEBUG error of comparing two singular iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41139 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate.
Reid Spencer [Fri, 17 Aug 2007 05:45:26 +0000 (05:45 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41138 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix PR1606:
Reid Spencer [Fri, 17 Aug 2007 05:44:59 +0000 (05:44 +0000)]
Fix PR1606:
The AC_CHECK_HEADER macro was used instead of AC_CHECK_HEADERS. The former does
not automatically add a #define to the configure variables while the latter
does. Consequently, the HAVE_PTHREAD_H symbol was not defined which caused the
Mutex.cpp file to compile to an empty implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41137 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew test. Make sure dynamic_stackalloc size is rounded up.
Evan Cheng [Thu, 16 Aug 2007 23:52:23 +0000 (23:52 +0000)]
New test. Make sure dynamic_stackalloc size is rounded up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41135 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate test: dynamic_stackalloc size *must* be rounded to ensure stack ptr be left...
Evan Cheng [Thu, 16 Aug 2007 23:51:28 +0000 (23:51 +0000)]
Update test: dynamic_stackalloc size *must* be rounded to ensure stack ptr be left in a valid state.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41134 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIf dynamic_stackalloc alignment is > stack alignment, first issue an instruction...
Evan Cheng [Thu, 16 Aug 2007 23:50:06 +0000 (23:50 +0000)]
If dynamic_stackalloc alignment is > stack alignment, first issue an instruction to align the stack ptr before the decrement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41133 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- If a dynamic_stackalloc alignment requirement is <= stack alignment, then the align...
Evan Cheng [Thu, 16 Aug 2007 23:46:29 +0000 (23:46 +0000)]
- If a dynamic_stackalloc alignment requirement is <= stack alignment, then the alignment argument is ignored.
- *Always* round up the size of the allocation to multiples of stack
alignment to ensure the stack ptr is never left in an invalid state after a dynamic_stackalloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41132 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFactor out some code into a helper function.
Owen Anderson [Thu, 16 Aug 2007 22:51:56 +0000 (22:51 +0000)]
Factor out some code into a helper function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41131 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix the verification for overloaded intrinsic types. Check that they are
Dan Gohman [Thu, 16 Aug 2007 22:06:45 +0000 (22:06 +0000)]
Fix the verification for overloaded intrinsic types. Check that they are
what they're supposed to be before using them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41130 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd some more comments to GVN.
Owen Anderson [Thu, 16 Aug 2007 22:02:55 +0000 (22:02 +0000)]
Add some more comments to GVN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41129 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd MVT::fAny for overloading intrinsics on floating-point types.
Dan Gohman [Thu, 16 Aug 2007 21:57:19 +0000 (21:57 +0000)]
Add MVT::fAny for overloading intrinsics on floating-point types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41128 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCache non-local memory dependence analysis. This is a significant compile
Owen Anderson [Thu, 16 Aug 2007 21:27:05 +0000 (21:27 +0000)]
Cache non-local memory dependence analysis.  This is a significant compile
time performance win in most cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41126 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis adds a bunch of static functions that implement unsigned
Chris Lattner [Thu, 16 Aug 2007 15:56:55 +0000 (15:56 +0000)]
This adds a bunch of static functions that implement unsigned
two's complement bignum arithmetic.  They could be used to
implement much of APInt, but the idea is they are enough to
implement APFloat as well, which the current APInt interface
is not suited for.

Patch by Neil Booth!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41124 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd byval test
Rafael Espindola [Thu, 16 Aug 2007 13:09:02 +0000 (13:09 +0000)]
add byval test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41123 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImprove error handling in the linker by:
Reid Spencer [Thu, 16 Aug 2007 07:47:30 +0000 (07:47 +0000)]
Improve error handling in the linker by:

1. Eliminate redundant error messages. LinkInFile and LinkInArchive
   already call the error() method in each case so there's no use
   telling the user again that an item couldn't be linked in.

2. Improve the formatting of error messages (separating content).

3. Change the wording for the warning about unrecognized files. Make
   it clear that the file is being ignored.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41121 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoComments.
Evan Cheng [Thu, 16 Aug 2007 07:25:37 +0000 (07:25 +0000)]
Comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41119 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix some kill info update bugs; add hidden option -disable-rematerialization to turn...
Evan Cheng [Thu, 16 Aug 2007 07:24:22 +0000 (07:24 +0000)]
Fix some kill info update bugs; add hidden option -disable-rematerialization to turn off remat for debugging.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41118 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEnsure that error messages a propagated from calls to LinkInModule so they get
Reid Spencer [Thu, 16 Aug 2007 07:23:37 +0000 (07:23 +0000)]
Ensure that error messages a propagated from calls to LinkInModule so they get
reported to the end user.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41117 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a test to ensure that obvious link messages are actually produced on
Reid Spencer [Thu, 16 Aug 2007 07:22:43 +0000 (07:22 +0000)]
Add a test to ensure that obvious link messages are actually produced on
the standard error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41116 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoForgot a line.
Owen Anderson [Thu, 16 Aug 2007 00:25:42 +0000 (00:25 +0000)]
Forgot a line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41115 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a copy constructor and an assignment operator to DenseMap.
Owen Anderson [Thu, 16 Aug 2007 00:18:32 +0000 (00:18 +0000)]
Add a copy constructor and an assignment operator to DenseMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41114 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement FPOWI ExpandOp.
Lauro Ramos Venancio [Wed, 15 Aug 2007 22:13:27 +0000 (22:13 +0000)]
Implement FPOWI ExpandOp.
Fix PR1287.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41112 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoProperly use const qualifiers
Anton Korobeynikov [Wed, 15 Aug 2007 21:12:30 +0000 (21:12 +0000)]
Properly use const qualifiers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41111 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest case for PR1609.
Evan Cheng [Wed, 15 Aug 2007 20:30:10 +0000 (20:30 +0000)]
Test case for PR1609.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41110 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIf the source of a move is in spill slot, the reload may be folded to essentially...
Evan Cheng [Wed, 15 Aug 2007 20:20:34 +0000 (20:20 +0000)]
If the source of a move is in spill slot, the reload may be folded to essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41109 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate .cvs file
David Greene [Wed, 15 Aug 2007 17:58:51 +0000 (17:58 +0000)]
Update .cvs file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41106 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove ReturnAddrIndex variable to X86MachineFunctionInfo structure. This fixed
Anton Korobeynikov [Wed, 15 Aug 2007 17:12:32 +0000 (17:12 +0000)]
Move ReturnAddrIndex variable to X86MachineFunctionInfo structure. This fixed
hard to catch bugs with retaddr lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41104 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note.
Chris Lattner [Wed, 15 Aug 2007 16:58:38 +0000 (16:58 +0000)]
add a note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41103 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosvn propdel the svn:mime-type property of application/x-troff.
Dan Gohman [Wed, 15 Aug 2007 14:03:58 +0000 (14:03 +0000)]
svn propdel the svn:mime-type property of application/x-troff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41102 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis test used "wc | grep ..."; convert it to use the count script.
Dan Gohman [Wed, 15 Aug 2007 13:55:47 +0000 (13:55 +0000)]
This test used "wc | grep ..."; convert it to use the count script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41101 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConvert tests using "grep -c ... | grep ..." to use the count script.
Dan Gohman [Wed, 15 Aug 2007 13:49:33 +0000 (13:49 +0000)]
Convert tests using "grep -c ... | grep ..." to use the count script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41100 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDelete extraneous uses of wc -l.
Dan Gohman [Wed, 15 Aug 2007 13:45:35 +0000 (13:45 +0000)]
Delete extraneous uses of wc -l.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41099 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConvert another test to use the count script. This one didn't fit the
Dan Gohman [Wed, 15 Aug 2007 13:42:36 +0000 (13:42 +0000)]
Convert another test to use the count script. This one didn't fit the
regex used to convert all the others because the first '|' was on a
separate line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41098 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConvert tests using "| wc -l | grep ..." to use the count script.
Dan Gohman [Wed, 15 Aug 2007 13:36:28 +0000 (13:36 +0000)]
Convert tests using "| wc -l | grep ..." to use the count script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41097 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDominance frontier is now required.
Devang Patel [Wed, 15 Aug 2007 03:34:53 +0000 (03:34 +0000)]
Dominance frontier is now required.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41096 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCleanup removeBlocks.
Devang Patel [Wed, 15 Aug 2007 03:31:47 +0000 (03:31 +0000)]
Cleanup removeBlocks.
Use dominance frontier to fixup incoming edges of successor blocks not domianted by DeadBB.
Use df_iterator to walk and delete basic blocks dominated by DeadBB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41095 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove unneeded header file.
Reid Spencer [Wed, 15 Aug 2007 03:01:04 +0000 (03:01 +0000)]
Remove unneeded header file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41094 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid triangle loops.
Devang Patel [Wed, 15 Aug 2007 02:14:55 +0000 (02:14 +0000)]
Avoid triangle loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41093 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoBreak infinite loop.
Devang Patel [Tue, 14 Aug 2007 23:59:17 +0000 (23:59 +0000)]
Break infinite loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41091 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid nested loops at the moment.
Devang Patel [Tue, 14 Aug 2007 23:53:57 +0000 (23:53 +0000)]
Avoid nested loops at the moment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41090 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew test.
Evan Cheng [Tue, 14 Aug 2007 23:34:50 +0000 (23:34 +0000)]
New test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41087 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- If a def is dead, do not spill it.
Evan Cheng [Tue, 14 Aug 2007 23:25:37 +0000 (23:25 +0000)]
- If a def is dead, do not spill it.
- If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete
  the def MI as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41086 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest case for PR1596.
Evan Cheng [Tue, 14 Aug 2007 23:21:10 +0000 (23:21 +0000)]
Test case for PR1596.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41085 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of its...
Evan Cheng [Tue, 14 Aug 2007 23:19:28 +0000 (23:19 +0000)]
Fix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of its sub-registers may overlap with the interval of the copy that's being coalesced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41084 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIf a MI's def is remat as well as spilled, and the store is later deemed dead, mark...
Evan Cheng [Tue, 14 Aug 2007 20:23:13 +0000 (20:23 +0000)]
If a MI's def is remat as well as spilled, and the store is later deemed dead, mark the def operand as isDead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41083 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix dominance frontier update while removing blocks.
Devang Patel [Tue, 14 Aug 2007 18:35:57 +0000 (18:35 +0000)]
Fix dominance frontier update while removing blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41082 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEliminate PHI nodes with constant values during normal GVN processing, even when
Owen Anderson [Tue, 14 Aug 2007 18:33:27 +0000 (18:33 +0000)]
Eliminate PHI nodes with constant values during normal GVN processing, even when
they're not related to eliminating a load.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41081 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoBe more aggressive in pruning unnecessary PHI nodes when doing PHI construction.
Owen Anderson [Tue, 14 Aug 2007 18:16:29 +0000 (18:16 +0000)]
Be more aggressive in pruning unnecessary PHI nodes when doing PHI construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41080 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake GVN iterative.
Owen Anderson [Tue, 14 Aug 2007 18:04:11 +0000 (18:04 +0000)]
Make GVN iterative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41078 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a case where GVN was failing to return true when it had, in fact, modified
Owen Anderson [Tue, 14 Aug 2007 17:59:48 +0000 (17:59 +0000)]
Fix a case where GVN was failing to return true when it had, in fact, modified
the function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41077 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAssert sooner. Fix wordings.
Devang Patel [Tue, 14 Aug 2007 16:53:52 +0000 (16:53 +0000)]
Assert sooner. Fix wordings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41075 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNo need to use iterator to erase basic block.
Devang Patel [Tue, 14 Aug 2007 16:53:24 +0000 (16:53 +0000)]
No need to use iterator to erase basic block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41074 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agotcl seems to hate |& for some reason.
Chris Lattner [Tue, 14 Aug 2007 16:19:35 +0000 (16:19 +0000)]
tcl seems to hate |& for some reason.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41073 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoswitch this to use fastcc to avoid fpstack traffic on x86-32. Switch to
Chris Lattner [Tue, 14 Aug 2007 16:14:10 +0000 (16:14 +0000)]
switch this to use fastcc to avoid fpstack traffic on x86-32.  Switch to
using the count script instead of wc -l

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41072 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate test case. A spill should now be deleted.
Evan Cheng [Tue, 14 Aug 2007 09:16:00 +0000 (09:16 +0000)]
Update test case. A spill should now be deleted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41070 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIf a spilled value is being reused and the use is a kill, that means there are
Evan Cheng [Tue, 14 Aug 2007 09:11:18 +0000 (09:11 +0000)]
If a spilled value is being reused and the use is a kill, that means there are
no more uses within the MBB and the spilled value isn't live out of the MBB.
Then it's safe to delete the spill store.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41069 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSpiller reuse test case.
Evan Cheng [Tue, 14 Aug 2007 05:51:03 +0000 (05:51 +0000)]
Spiller reuse test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41068 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIf a rematerializable def is not deleted, i.e. it is also spilled, check if the
Evan Cheng [Tue, 14 Aug 2007 05:42:54 +0000 (05:42 +0000)]
If a rematerializable def is not deleted, i.e. it is also spilled, check if the
spilled value is available for reuse.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41067 91177308-0d34-0410-b5e6-96231b3b80d8