oota-llvm.git
17 years agoIf the source and destination pointers in an llvm.memmove are known
Dan Gohman [Mon, 27 Aug 2007 16:26:13 +0000 (16:26 +0000)]
If the source and destination pointers in an llvm.memmove are known
to not alias each other, it can be translated as an llvm.memcpy.

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

17 years agoChange comments to refer to @malloc and @free instead of %malloc and %free.
Dan Gohman [Mon, 27 Aug 2007 16:11:48 +0000 (16:11 +0000)]
Change comments to refer to @malloc and @free instead of %malloc and %free.

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

17 years agoThere is an impedance matching problem between LLVM and
Duncan Sands [Mon, 27 Aug 2007 15:47:50 +0000 (15:47 +0000)]
There is an impedance matching problem between LLVM and
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target.  We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require.  I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!).  Instead we need
to append a full-blown catch-all to the end of each
selector.  The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc.  Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos.  Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).

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

17 years agoAdd explicit keywords and remove spurious trailing semicolons.
Dan Gohman [Mon, 27 Aug 2007 14:50:10 +0000 (14:50 +0000)]
Add explicit keywords and remove spurious trailing semicolons.

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

17 years agocall libc memcpy/memset if array size is bigger then threshold.
Rafael Espindola [Mon, 27 Aug 2007 10:18:20 +0000 (10:18 +0000)]
call libc memcpy/memset if array size is bigger then threshold.

Coping 100MB array (after a warmup) shows that glibc 2.6.1 implementation on
x86-64 (core 2) is 30% faster (from 0.270917s to 0.188079s)

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

17 years agoDon't promote volatile loads/stores. This is needed (for example) to handle setjmp...
Anton Korobeynikov [Sun, 26 Aug 2007 21:43:30 +0000 (21:43 +0000)]
Don't promote volatile loads/stores. This is needed (for example) to handle setjmp/longjmp properly.
This fixes PR1520.

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

17 years agoDon't DSe volatile stores.
Owen Anderson [Sun, 26 Aug 2007 21:14:47 +0000 (21:14 +0000)]
Don't DSe volatile stores.

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

17 years agoRevise per review comments.
Dale Johannesen [Sun, 26 Aug 2007 01:18:27 +0000 (01:18 +0000)]
Revise per review comments.

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

17 years agoAdd APFloat interface to ConstantFPSDNode. Change
Dale Johannesen [Sat, 25 Aug 2007 22:10:57 +0000 (22:10 +0000)]
Add APFloat interface to ConstantFPSDNode.  Change
over uses in DAGCombiner.  Fix interfaces to work
with APFloats.

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

17 years agoMove exit condition and exit branch from exiting block into loop header and dominator...
Devang Patel [Sat, 25 Aug 2007 02:39:24 +0000 (02:39 +0000)]
Move exit condition and exit branch from exiting block into loop header and dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe.

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

17 years agoConstant split values needs upper bound and lower bound check, just like any other...
Devang Patel [Sat, 25 Aug 2007 01:09:14 +0000 (01:09 +0000)]
Constant split values needs upper bound and lower bound check, just like any other split value.

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

17 years agoAllow target constants to be illegal types. The target should
Chris Lattner [Sat, 25 Aug 2007 01:00:22 +0000 (01:00 +0000)]
Allow target constants to be illegal types.  The target should
know how to handle them.  This fixes
test/CodeGen/Generic/asm-large-immediate.ll

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

17 years agoWhile calculating upper loop bound for first loop and lower loop bound for second...
Devang Patel [Sat, 25 Aug 2007 00:56:38 +0000 (00:56 +0000)]
While calculating upper loop bound for first loop and lower loop bound for second loop, take care of edge cases.

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

17 years agoTeach the dag scheduler to handle inline asm nodes with multi-value immediate operands.
Chris Lattner [Sat, 25 Aug 2007 00:53:07 +0000 (00:53 +0000)]
Teach the dag scheduler to handle inline asm nodes with multi-value immediate operands.

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

17 years agoThe personality function might need to be declared as:
Bill Wendling [Sat, 25 Aug 2007 00:51:55 +0000 (00:51 +0000)]
The personality function might need to be declared as:

    .set  Lset0,___gxx_personality_v0-.
    .long Lset0

on some targets. Make it so!

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

17 years agorename isOperandValidForConstraint to LowerAsmOperandForConstraint,
Chris Lattner [Sat, 25 Aug 2007 00:47:38 +0000 (00:47 +0000)]
rename isOperandValidForConstraint to LowerAsmOperandForConstraint,
changing the interface to allow for future changes.

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

17 years agoComment out declaration of operator== (undefined).
Dale Johannesen [Sat, 25 Aug 2007 00:40:41 +0000 (00:40 +0000)]
Comment out declaration of operator== (undefined).

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

17 years agoTest
Neil Booth [Sat, 25 Aug 2007 00:36:22 +0000 (00:36 +0000)]
Test

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

17 years agoAdd self
Neil Booth [Sat, 25 Aug 2007 00:31:24 +0000 (00:31 +0000)]
Add self

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

17 years agoRename llvm-gcc4 to llvm-gcc.
Tanya Lattner [Fri, 24 Aug 2007 23:23:23 +0000 (23:23 +0000)]
Rename llvm-gcc4 to llvm-gcc.

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

17 years agoPoison APFloat::operator==. Replace existing uses with bitwiseIsEqual.
Dale Johannesen [Fri, 24 Aug 2007 22:09:56 +0000 (22:09 +0000)]
Poison APFloat::operator==.  Replace existing uses with bitwiseIsEqual.
This means backing out the preceding change to Constants.cpp, alas.

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

17 years agoUse APFloat internally for ConstantFPSDNode.
Dale Johannesen [Fri, 24 Aug 2007 20:59:15 +0000 (20:59 +0000)]
Use APFloat internally for ConstantFPSDNode.

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

17 years agosink clone() down the class hierarchy from CmpInst into ICmpInst/FCmpInst.
Chris Lattner [Fri, 24 Aug 2007 20:48:18 +0000 (20:48 +0000)]
sink clone() down the class hierarchy from CmpInst into ICmpInst/FCmpInst.
This eliminates a conditional on that path, and ensures ICmpInst/FCmpInst
both have an out-of-line virtual method to home the class.

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

17 years agoFix regression that I caused yesterday night while adding logic to select appropriate...
Devang Patel [Fri, 24 Aug 2007 19:32:26 +0000 (19:32 +0000)]
Fix regression that I caused yesterday night while adding logic to select appropriate split condition branch.

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

17 years agoDisable EH generation until PPC works 100%.
Chris Lattner [Fri, 24 Aug 2007 16:00:15 +0000 (16:00 +0000)]
Disable EH generation until PPC works 100%.

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

17 years agoadd a note
Chris Lattner [Fri, 24 Aug 2007 15:17:59 +0000 (15:17 +0000)]
add a note

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

17 years agoIt is not safe to execute split condition's true branch first all the time. If split
Devang Patel [Fri, 24 Aug 2007 06:17:19 +0000 (06:17 +0000)]
It is not safe to execute split condition's true branch first all the time. If split
condition predicate is GT or GE then execute false branch first.

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

17 years agoReject ICMP_NE as index split condition.
Devang Patel [Fri, 24 Aug 2007 06:02:25 +0000 (06:02 +0000)]
Reject ICMP_NE as index split condition.

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

17 years agoTightenup loop filter.
Devang Patel [Fri, 24 Aug 2007 05:36:56 +0000 (05:36 +0000)]
Tightenup loop filter.

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

17 years agoRemove incomplete cost analysis.
Devang Patel [Fri, 24 Aug 2007 05:21:13 +0000 (05:21 +0000)]
Remove incomplete cost analysis.

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

17 years agoRevised per review feedback from previous patch.
Dale Johannesen [Fri, 24 Aug 2007 05:08:11 +0000 (05:08 +0000)]
Revised per review feedback from previous patch.

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

17 years agosilence some warnings in an optimized build.
Chris Lattner [Fri, 24 Aug 2007 03:02:34 +0000 (03:02 +0000)]
silence some warnings in an optimized build.

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

17 years agoChange internal representation of ConstantFP to use APFloat.
Dale Johannesen [Fri, 24 Aug 2007 00:56:33 +0000 (00:56 +0000)]
Change internal representation of ConstantFP to use APFloat.
Interface to rest of the compiler unchanged, as yet.

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

17 years agoFix this testcase: there are two matches for
Duncan Sands [Thu, 23 Aug 2007 17:22:50 +0000 (17:22 +0000)]
Fix this testcase: there are two matches for
llvm.cttz.i64 because of the declaration of
the intrinsic.  Also, emit-llvm is automatic
and doesn't need to be specified.

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

17 years agoadd some notes on really poor codegen.
Chris Lattner [Thu, 23 Aug 2007 15:22:07 +0000 (15:22 +0000)]
add some notes on really poor codegen.

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

17 years agonew example
Chris Lattner [Thu, 23 Aug 2007 15:16:03 +0000 (15:16 +0000)]
new example

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

17 years agoPerform correct codegen for eh_dwarf_cfa intrinsic.
Anton Korobeynikov [Thu, 23 Aug 2007 07:21:06 +0000 (07:21 +0000)]
Perform correct codegen for eh_dwarf_cfa intrinsic.

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

17 years agodefault this to radix 10 like the toString(Un)Signed methods.
Chris Lattner [Thu, 23 Aug 2007 05:21:48 +0000 (05:21 +0000)]
default this to radix 10 like the toString(Un)Signed methods.

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

17 years agoAvoid hiding issues.
Chris Lattner [Thu, 23 Aug 2007 05:20:48 +0000 (05:20 +0000)]
Avoid hiding issues.

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

17 years agorename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()
Chris Lattner [Thu, 23 Aug 2007 05:15:32 +0000 (05:15 +0000)]
rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()

Add an APSInt::toString() method.

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

17 years agoImplement review feedback on trampoline documentation.
Duncan Sands [Wed, 22 Aug 2007 23:39:54 +0000 (23:39 +0000)]
Implement review feedback on trampoline documentation.

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

17 years agoRemove dead code.
Devang Patel [Wed, 22 Aug 2007 21:07:41 +0000 (21:07 +0000)]
Remove dead code.

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

17 years agoFix typo.
Devang Patel [Wed, 22 Aug 2007 20:55:18 +0000 (20:55 +0000)]
Fix typo.

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

17 years agoupdate test to check that codegen works with llvm.used in llvm.metadata section
Andrew Lenharth [Wed, 22 Aug 2007 19:36:31 +0000 (19:36 +0000)]
update test to check that codegen works with llvm.used in llvm.metadata section

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

17 years agoCosmetic change
Devang Patel [Wed, 22 Aug 2007 19:33:29 +0000 (19:33 +0000)]
Cosmetic change
"True Loop" and "False Loop" naming terminology to refer two loops
after loop cloning is confusing. Instead just use A_Loop and B_Loop.

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

17 years agomove this check. ppc outputs .no_dead_strip properly
Andrew Lenharth [Wed, 22 Aug 2007 19:33:11 +0000 (19:33 +0000)]
move this check.  ppc outputs .no_dead_strip properly

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

17 years agoAdd the PCSymbol for Darwin x86 platforms.
Bill Wendling [Wed, 22 Aug 2007 18:44:05 +0000 (18:44 +0000)]
Add the PCSymbol for Darwin x86 platforms.

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

17 years agoRefactor loop condition check in a separate function.
Devang Patel [Wed, 22 Aug 2007 18:27:01 +0000 (18:27 +0000)]
Refactor loop condition check in a separate function.

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

17 years agoFix thinko.
Devang Patel [Wed, 22 Aug 2007 18:07:47 +0000 (18:07 +0000)]
Fix thinko.
Starting value of second loop's induction variable can not be lower
then starting value of original loop's induction variable.

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

17 years agoTestcase for llvm.c* intrinsic failures.
Bill Wendling [Wed, 22 Aug 2007 07:26:30 +0000 (07:26 +0000)]
Testcase for llvm.c* intrinsic failures.

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

17 years agoTest handling of complex constants as lvalues.
Duncan Sands [Wed, 22 Aug 2007 05:58:22 +0000 (05:58 +0000)]
Test handling of complex constants as lvalues.

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

17 years agoDror GCCLibraries: they are obsolete since 2.0 release. This also reduces number...
Anton Korobeynikov [Tue, 21 Aug 2007 22:40:44 +0000 (22:40 +0000)]
Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces number of licenses used in LLVM.

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

17 years agoRename bunch of variables.
Devang Patel [Tue, 21 Aug 2007 21:12:02 +0000 (21:12 +0000)]
Rename bunch of variables.

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

17 years agoPreserve LCSSA.
Devang Patel [Tue, 21 Aug 2007 19:47:46 +0000 (19:47 +0000)]
Preserve LCSSA.

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

17 years agoUse SmallVector.
Devang Patel [Tue, 21 Aug 2007 16:54:51 +0000 (16:54 +0000)]
Use SmallVector.

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

17 years agoNo need to hardcode SmallVector size.
Devang Patel [Tue, 21 Aug 2007 16:39:43 +0000 (16:39 +0000)]
No need to hardcode SmallVector size.

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

17 years agoInlineAsm asm support for integer registers added
Bruno Cardoso Lopes [Tue, 21 Aug 2007 16:09:25 +0000 (16:09 +0000)]
InlineAsm asm support for integer registers added

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

17 years agoInstruction Itinerary attribution fixed
Bruno Cardoso Lopes [Tue, 21 Aug 2007 16:06:45 +0000 (16:06 +0000)]
Instruction Itinerary attribution fixed

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

17 years agoDoxygenize comments.
David Greene [Tue, 21 Aug 2007 14:57:58 +0000 (14:57 +0000)]
Doxygenize comments.

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

17 years agoFix potentially N^2 behavior handling arrays with many of the
Chris Lattner [Tue, 21 Aug 2007 00:55:23 +0000 (00:55 +0000)]
Fix potentially N^2 behavior handling arrays with many of the
same value which get RAUW'd.  This speeds up reading the .bc
file in PR1616 from 852s to 0.19s on my G5 with a debug build.

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

17 years agoUse only 1 knob to enable exceptions on Darwin :).
Anton Korobeynikov [Tue, 21 Aug 2007 00:31:30 +0000 (00:31 +0000)]
Use only 1 knob to enable exceptions on Darwin :).

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

17 years agoUse SmallVector instead of std::vector.
Devang Patel [Tue, 21 Aug 2007 00:31:24 +0000 (00:31 +0000)]
Use SmallVector instead of std::vector.

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

17 years agosimplify code, improve a comment.
Chris Lattner [Tue, 21 Aug 2007 00:21:07 +0000 (00:21 +0000)]
simplify code, improve a comment.

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

17 years agos/ExitBlock/ExitingBlock/g
Devang Patel [Mon, 20 Aug 2007 23:51:18 +0000 (23:51 +0000)]
s/ExitBlock/ExitingBlock/g

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

17 years agoinitial checkin of Neil's APFloat work.
Chris Lattner [Mon, 20 Aug 2007 22:49:32 +0000 (22:49 +0000)]
initial checkin of Neil's APFloat work.

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

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