oota-llvm.git
17 years agoadd a mechanism for the JIT to invoke a function to lazily create functions as they...
Chris Lattner [Mon, 22 Oct 2007 02:50:12 +0000 (02:50 +0000)]
add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced.

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

17 years agollvm-gcc3 is dead, along with it __main.
Chris Lattner [Mon, 22 Oct 2007 02:39:47 +0000 (02:39 +0000)]
llvm-gcc3 is dead, along with it __main.

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

17 years agoReg2Mem cleanup and optimizations:
Anton Korobeynikov [Sun, 21 Oct 2007 23:05:16 +0000 (23:05 +0000)]
Reg2Mem cleanup and optimizations:
 - enable phi instructions demotion to stack
 - create alloca instructions in the entry block

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

17 years agoLoadLibraryPermanently doesn't throw.
Chris Lattner [Sun, 21 Oct 2007 22:58:11 +0000 (22:58 +0000)]
LoadLibraryPermanently doesn't throw.

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

17 years agoAdd a convenience method for creating EE's.
Chris Lattner [Sun, 21 Oct 2007 22:57:11 +0000 (22:57 +0000)]
Add a convenience method for creating EE's.

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

17 years agoAllow for copysign having f80 second argument.
Dale Johannesen [Sun, 21 Oct 2007 01:07:44 +0000 (01:07 +0000)]
Allow for copysign having f80 second argument.
Fixes 5550319.

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

17 years agoAdd promote operand support for [su]int_to_fp.
Chris Lattner [Sat, 20 Oct 2007 22:57:56 +0000 (22:57 +0000)]
Add promote operand support for [su]int_to_fp.

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

17 years agoSome improvements based on feedback from Anders.
Owen Anderson [Sat, 20 Oct 2007 06:12:33 +0000 (06:12 +0000)]
Some improvements based on feedback from Anders.

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

17 years agoFix some weird indenting in code.
Owen Anderson [Sat, 20 Oct 2007 05:41:39 +0000 (05:41 +0000)]
Fix some weird indenting in code.

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

17 years agoUse getOrInsertFunction() in tutorial 1. This makes for shorter, simpler, and better...
Owen Anderson [Sat, 20 Oct 2007 05:40:47 +0000 (05:40 +0000)]
Use getOrInsertFunction() in tutorial 1.  This makes for shorter, simpler, and better example code.

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

17 years agoAdd the beginnings of an LLVM tutorial. If anyone has suggestions, comments,
Owen Anderson [Sat, 20 Oct 2007 05:23:06 +0000 (05:23 +0000)]
Add the beginnings of an LLVM tutorial.  If anyone has suggestions, comments,
or would like to contribute, let me know!

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

17 years agoAdd result promotion of FP_TO_*INT, fixing CodeGen/X86/trunc-to-bool.ll
Chris Lattner [Sat, 20 Oct 2007 04:32:38 +0000 (04:32 +0000)]
Add result promotion of FP_TO_*INT, fixing CodeGen/X86/trunc-to-bool.ll
with the new legalizer.

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

17 years agosimplify some code.
Chris Lattner [Sat, 20 Oct 2007 04:09:48 +0000 (04:09 +0000)]
simplify some code.

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

17 years agoImplement promote and expand for operands of memcpy and friends.
Chris Lattner [Sat, 20 Oct 2007 04:07:07 +0000 (04:07 +0000)]
Implement promote and expand for operands of memcpy and friends.
This fixes CodeGen/X86/mem*.ll.

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

17 years agoAdded missing curly braces which renders the if clause useless in debug build.
Evan Cheng [Sat, 20 Oct 2007 04:01:47 +0000 (04:01 +0000)]
Added missing curly braces which renders the if clause useless in debug build.

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

17 years agoFix a few places vector operations were not getting
Dale Johannesen [Sat, 20 Oct 2007 00:07:52 +0000 (00:07 +0000)]
Fix a few places vector operations were not getting
the operand's type from the right place.

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

17 years agoResolve unfold tables ambiguity.
Evan Cheng [Fri, 19 Oct 2007 23:50:58 +0000 (23:50 +0000)]
Resolve unfold tables ambiguity.

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

17 years agoNew test case.
Evan Cheng [Fri, 19 Oct 2007 22:05:00 +0000 (22:05 +0000)]
New test case.

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

17 years agoLocal spiller optimization:
Evan Cheng [Fri, 19 Oct 2007 21:23:22 +0000 (21:23 +0000)]
Local spiller optimization:
Turn a store folding instruction into a load folding instruction. e.g.
     xorl  %edi, %eax
     movl  %eax, -32(%ebp)
     movl  -36(%ebp), %eax
     orl   %eax, -32(%ebp)
=>
     xorl  %edi, %eax
     orl   -36(%ebp), %eax
     mov   %eax, -32(%ebp)
This enables the unfolding optimization for a subsequent instruction which will
also eliminate the newly introduced store instruction.

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

17 years agoDon't branch fold inline asm statements.
Bill Wendling [Fri, 19 Oct 2007 21:09:55 +0000 (21:09 +0000)]
Don't branch fold inline asm statements.

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

17 years agoAdd support for a few more nodes.
Duncan Sands [Fri, 19 Oct 2007 20:29:48 +0000 (20:29 +0000)]
Add support for a few more nodes.

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

17 years agoRedo "last ppc long double fix" as Chris wants.
Dale Johannesen [Fri, 19 Oct 2007 20:29:00 +0000 (20:29 +0000)]
Redo "last ppc long double fix" as Chris wants.

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

17 years agoRemoved "-arch i386" by popular demand...
Bill Wendling [Fri, 19 Oct 2007 18:49:16 +0000 (18:49 +0000)]
Removed "-arch i386" by popular demand...

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

17 years agoNow with RUN line!
Bill Wendling [Fri, 19 Oct 2007 18:40:53 +0000 (18:40 +0000)]
Now with RUN line!

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

17 years agoRemove the Foundation.h file because not everyone has that.
Bill Wendling [Fri, 19 Oct 2007 18:36:04 +0000 (18:36 +0000)]
Remove the Foundation.h file because not everyone has that.

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

17 years agoThis test now passes.
Devang Patel [Fri, 19 Oct 2007 17:11:01 +0000 (17:11 +0000)]
This test now passes.

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

17 years agoUpdate this file for 2.0 syntax. Contributed by Jan Rehders
Anton Korobeynikov [Fri, 19 Oct 2007 16:54:13 +0000 (16:54 +0000)]
Update this file for 2.0 syntax. Contributed by Jan Rehders

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

17 years agoFix a really nasty vector miscompilation bill recently introduced.
Chris Lattner [Fri, 19 Oct 2007 16:47:35 +0000 (16:47 +0000)]
Fix a really nasty vector miscompilation bill recently introduced.

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

17 years agoUpdated VC++ build system
Hartmut Kaiser [Fri, 19 Oct 2007 15:51:20 +0000 (15:51 +0000)]
Updated VC++ build system

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

17 years agorename ExpandOperation to ExpandOperationResult, as suggested
Chris Lattner [Fri, 19 Oct 2007 15:28:47 +0000 (15:28 +0000)]
rename ExpandOperation to ExpandOperationResult, as suggested
by Duncan

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

17 years agosplit LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.
Rafael Espindola [Fri, 19 Oct 2007 14:35:17 +0000 (14:35 +0000)]
split LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.

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

17 years agoSupport for expanding ADDE and SUBE.
Duncan Sands [Fri, 19 Oct 2007 13:06:17 +0000 (13:06 +0000)]
Support for expanding ADDE and SUBE.

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

17 years agoIf the value types are equal then this routine
Duncan Sands [Fri, 19 Oct 2007 13:05:40 +0000 (13:05 +0000)]
If the value types are equal then this routine
asserts in later checks rather than producing
the ordinary load it is supposed to.  Avoid all
such hassles by directly returning an ordinary
load in this case.

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

17 years agoTest byval with a 8 bit aligned struct
Rafael Espindola [Fri, 19 Oct 2007 11:29:21 +0000 (11:29 +0000)]
Test byval with a 8 bit aligned struct

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

17 years agoAdd support for byval function whose argument is not 32 bit aligned.
Rafael Espindola [Fri, 19 Oct 2007 10:41:11 +0000 (10:41 +0000)]
Add support for byval function whose argument is not 32 bit aligned.
To do this it is necessary to add a "always inline" argument to the
memcpy node. For completeness I have also added this node to memmove
and memset.  I have also added getMem* functions, because the extra
argument makes it cumbersome to use getNode and because I get confused
by it :-)

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

17 years agoImplement a few new operations.
Chris Lattner [Fri, 19 Oct 2007 04:46:45 +0000 (04:46 +0000)]
Implement a few new operations.

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

17 years agoImplement expansion of SINT_TO_FP and UINT_TO_FP operands.
Chris Lattner [Fri, 19 Oct 2007 04:32:47 +0000 (04:32 +0000)]
Implement expansion of SINT_TO_FP and UINT_TO_FP operands.

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

17 years agoimplement support for custom expansion of any node type, in one place.
Chris Lattner [Fri, 19 Oct 2007 04:14:36 +0000 (04:14 +0000)]
implement support for custom expansion of any node type, in one place.

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

17 years agocomment fixes
Chris Lattner [Fri, 19 Oct 2007 04:08:28 +0000 (04:08 +0000)]
comment fixes

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

17 years agoMake use of TLI.ExpandOperation, remove softfloat stuff.
Chris Lattner [Fri, 19 Oct 2007 03:58:25 +0000 (03:58 +0000)]
Make use of TLI.ExpandOperation, remove softfloat stuff.

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

17 years agoadd expand support for bit_convert result, even allowing custom expansion.
Chris Lattner [Fri, 19 Oct 2007 03:33:14 +0000 (03:33 +0000)]
add expand support for bit_convert result, even allowing custom expansion.

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

17 years agoadd a new target hook.
Chris Lattner [Fri, 19 Oct 2007 03:31:45 +0000 (03:31 +0000)]
add a new target hook.

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

17 years agoAdd an easy microoptimization I noticed.
Chris Lattner [Fri, 19 Oct 2007 03:29:26 +0000 (03:29 +0000)]
Add an easy microoptimization I noticed.

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

17 years agoNew test.
Devang Patel [Fri, 19 Oct 2007 01:28:02 +0000 (01:28 +0000)]
New test.

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

17 years agoNegative indices aren't allowed here.
Bill Wendling [Fri, 19 Oct 2007 01:10:49 +0000 (01:10 +0000)]
Negative indices aren't allowed here.

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

17 years agoMore ppcf128 issues (maybe the last)?
Dale Johannesen [Fri, 19 Oct 2007 00:59:18 +0000 (00:59 +0000)]
More ppcf128 issues (maybe the last)?

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

17 years ago- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only...
Evan Cheng [Thu, 18 Oct 2007 22:40:57 +0000 (22:40 +0000)]
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs.

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

17 years agoUse SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public...
Evan Cheng [Thu, 18 Oct 2007 21:29:24 +0000 (21:29 +0000)]
Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public interface.

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

17 years agoTry again.
Devang Patel [Thu, 18 Oct 2007 19:52:32 +0000 (19:52 +0000)]
Try again.
Instead of loading small global string from memory, use
integer constant.

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

17 years agoAllow GVN to eliminate redundant calls to functions without side effects.
Owen Anderson [Thu, 18 Oct 2007 19:39:33 +0000 (19:39 +0000)]
Allow GVN to eliminate redundant calls to functions without side effects.

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

17 years agoAdd an uppercase conversion utility function.
Christopher Lamb [Thu, 18 Oct 2007 19:31:38 +0000 (19:31 +0000)]
Add an uppercase conversion utility function.

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

17 years agoFix a misnamed parameter.
Christopher Lamb [Thu, 18 Oct 2007 19:29:45 +0000 (19:29 +0000)]
Fix a misnamed parameter.

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

17 years agoFix a typo
Christopher Lamb [Thu, 18 Oct 2007 19:28:55 +0000 (19:28 +0000)]
Fix a typo

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

17 years agoFix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll by
Chris Lattner [Thu, 18 Oct 2007 18:49:29 +0000 (18:49 +0000)]
Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll by
fixing some obviously broken code :(

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

17 years agoFix the command line.
Bill Wendling [Thu, 18 Oct 2007 18:26:40 +0000 (18:26 +0000)]
Fix the command line.

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

17 years agoFix test.
Devang Patel [Thu, 18 Oct 2007 17:54:49 +0000 (17:54 +0000)]
Fix test.

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

17 years agothis doesn't need dynamic_cast.
Chris Lattner [Thu, 18 Oct 2007 16:26:24 +0000 (16:26 +0000)]
this doesn't need dynamic_cast.

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

17 years agoremove dead file
Chris Lattner [Thu, 18 Oct 2007 16:12:54 +0000 (16:12 +0000)]
remove dead file

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

17 years agoReduce reliance on rtti info
Chris Lattner [Thu, 18 Oct 2007 16:11:18 +0000 (16:11 +0000)]
Reduce reliance on rtti info

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

17 years agofix typo
Chris Lattner [Thu, 18 Oct 2007 16:10:48 +0000 (16:10 +0000)]
fix typo

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

17 years agoupdate comment.
Chris Lattner [Thu, 18 Oct 2007 16:10:17 +0000 (16:10 +0000)]
update comment.

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

17 years agoThis requires rtti info because tblgen uses commandline,
Chris Lattner [Thu, 18 Oct 2007 15:57:29 +0000 (15:57 +0000)]
This requires rtti info because tblgen uses commandline,
and tblgen requires rtti.

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

17 years agotblgen uses dynamic_cast heavily, so it needs rtti info
Chris Lattner [Thu, 18 Oct 2007 15:54:45 +0000 (15:54 +0000)]
tblgen uses dynamic_cast heavily, so it needs rtti info

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

17 years agoUpdated VC++ build system
Hartmut Kaiser [Thu, 18 Oct 2007 12:31:51 +0000 (12:31 +0000)]
Updated VC++ build system

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

17 years agoWork around downrev gccs which do not inherit visibility of the
Gordon Henriksen [Thu, 18 Oct 2007 11:53:05 +0000 (11:53 +0000)]
Work around downrev gccs which do not inherit visibility of the
Registry<>::iterator member class.

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

17 years agoMissing 'public' keyword.
Gordon Henriksen [Thu, 18 Oct 2007 11:31:21 +0000 (11:31 +0000)]
Missing 'public' keyword.

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

17 years agoPointer arithmetic should be done with the index the same size as the pointer.
Bill Wendling [Thu, 18 Oct 2007 08:32:37 +0000 (08:32 +0000)]
Pointer arithmetic should be done with the index the same size as the pointer.

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

17 years agoSupport for ADDC/SUBC.
Duncan Sands [Thu, 18 Oct 2007 08:22:16 +0000 (08:22 +0000)]
Support for ADDC/SUBC.

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

17 years agoReally fix PR1734. Carefully track which register uses are sub-register uses by
Evan Cheng [Thu, 18 Oct 2007 07:49:59 +0000 (07:49 +0000)]
Really fix PR1734. Carefully track which register uses are sub-register uses by
traversing inverse register coalescing map.

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

17 years agoRemove unnecessary include.
Evan Cheng [Thu, 18 Oct 2007 07:47:55 +0000 (07:47 +0000)]
Remove unnecessary include.

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

17 years agolegalizing the ret operation on f64 shouldn't introduce a new
Chris Lattner [Thu, 18 Oct 2007 06:17:07 +0000 (06:17 +0000)]
legalizing the ret operation on f64 shouldn't introduce a new
i64 bit convert needlessly.

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

17 years agoMove Split<...>() into DomTreeBase. This should make the #include's of DominatorInte...
Owen Anderson [Thu, 18 Oct 2007 05:13:52 +0000 (05:13 +0000)]
Move Split<...>() into DomTreeBase.  This should make the #include's of DominatorInternals.h
in CodeExtractor and LoopSimplify unnecessary.

Hartmut, could you confirm that this fixes the issues you were seeing?

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

17 years agoXFAIL for now.
Devang Patel [Thu, 18 Oct 2007 00:48:43 +0000 (00:48 +0000)]
XFAIL for now.

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

17 years agoChanged the return type of type-specific Allocate() methods to return
Ted Kremenek [Thu, 18 Oct 2007 00:30:14 +0000 (00:30 +0000)]
Changed the return type of type-specific Allocate() methods to return
void*.  This is hint that we are returning uninitialized memory rather
than a constructed object.

Patched ImutAVLTree to conform to this new interface.

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

17 years agoReverting r43070 for now. It's causing llc test failures.
Evan Cheng [Wed, 17 Oct 2007 23:51:13 +0000 (23:51 +0000)]
Reverting r43070 for now. It's causing llc test failures.

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

17 years agoTest to make sure we don't generate unwind info for non-64-bit Objective-C.
Bill Wendling [Wed, 17 Oct 2007 23:14:56 +0000 (23:14 +0000)]
Test to make sure we don't generate unwind info for non-64-bit Objective-C.

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

17 years agoImutAVLTree now allocates tree nodes from the BumpPtrAllocator using
Ted Kremenek [Wed, 17 Oct 2007 22:17:01 +0000 (22:17 +0000)]
ImutAVLTree now allocates tree nodes from the BumpPtrAllocator using
the new type-aligned Allocate() method.

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

17 years agoRemoved inclusion of cassert, which is no longer needed.
Ted Kremenek [Wed, 17 Oct 2007 22:12:14 +0000 (22:12 +0000)]
Removed inclusion of cassert, which is no longer needed.

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

17 years agoMinor cosmetic cleanups in the calculation of alignments for
Ted Kremenek [Wed, 17 Oct 2007 22:09:45 +0000 (22:09 +0000)]
Minor cosmetic cleanups in the calculation of alignments for
StringMapEntry objects.  No functionality change.

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

17 years agoAdded template function alignof() which provides a clean
Ted Kremenek [Wed, 17 Oct 2007 22:08:55 +0000 (22:08 +0000)]
Added template function alignof() which provides a clean
function-based interface to getting the alignment of a type.

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

17 years agoReverting unnecessary commit of generated files.
Gordon Henriksen [Wed, 17 Oct 2007 21:36:08 +0000 (21:36 +0000)]
Reverting unnecessary commit of generated files.

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

17 years agoSwitching TargetMachineRegistry to use the new generic Registry.
Gordon Henriksen [Wed, 17 Oct 2007 21:28:48 +0000 (21:28 +0000)]
Switching TargetMachineRegistry to use the new generic Registry.

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

17 years agoUpdated StringMap to use llvm::AlignOf to compute the alignment of map
Ted Kremenek [Wed, 17 Oct 2007 21:13:50 +0000 (21:13 +0000)]
Updated StringMap to use llvm::AlignOf to compute the alignment of map
entries.

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

17 years agoIgnoring test/Transforms/LoopIndexSplit/Output.
Gordon Henriksen [Wed, 17 Oct 2007 21:11:33 +0000 (21:11 +0000)]
Ignoring test/Transforms/LoopIndexSplit/Output.

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

17 years agoAdded member template functions to MallocAllocator and
Ted Kremenek [Wed, 17 Oct 2007 21:10:21 +0000 (21:10 +0000)]
Added member template functions to MallocAllocator and
BumpPtrAllocator that implement allocations that return a properly
typed pointer.  For BumpPtrAllocator, the allocated memory is
automatically aligned to the minimum alignment of the type (as
calculated by llvm::AlignOf::Alignment).

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

17 years agoAdded llvm::AlignOf, a template class whose purpose is to portably
Ted Kremenek [Wed, 17 Oct 2007 20:56:47 +0000 (20:56 +0000)]
Added llvm::AlignOf, a template class whose purpose is to portably
compute the minimum memory alignment of arbitrary types.

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

17 years agoDo not raise free() call that is called through invoke instruction.
Devang Patel [Wed, 17 Oct 2007 20:12:58 +0000 (20:12 +0000)]
Do not raise free() call that is called through invoke instruction.

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

17 years agoFixed linker errors (unresolved externals: split<>(...)) when compiling with VC+...
Hartmut Kaiser [Wed, 17 Oct 2007 18:37:09 +0000 (18:37 +0000)]
Fixed linker errors (unresolved externals: split<>(...)) when compiling with VC++. Please review.

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

17 years agoDon't mention -enable-unsafe-fp-math in LangRef.html, as that option is
Dan Gohman [Wed, 17 Oct 2007 18:05:13 +0000 (18:05 +0000)]
Don't mention -enable-unsafe-fp-math in LangRef.html, as that option is
assumed to globally mutate the spec.

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

17 years agoDefine a helper function ConstantVector::getSplatValue for testing for
Dan Gohman [Wed, 17 Oct 2007 17:51:30 +0000 (17:51 +0000)]
Define a helper function ConstantVector::getSplatValue for testing for
and working with broadcasted constants.

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

17 years agoUpdated VC++ build system.
Hartmut Kaiser [Wed, 17 Oct 2007 14:56:40 +0000 (14:56 +0000)]
Updated VC++ build system.
Silenced some VC warnings.

I'm getting linker errors, though: unresolved externals:

llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

and

llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

Where are these defined?

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

17 years agoAdd support for ISD::SELECT in SplitVectorOp.
Dan Gohman [Wed, 17 Oct 2007 14:48:28 +0000 (14:48 +0000)]
Add support for ISD::SELECT in SplitVectorOp.

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

17 years agoReturn Expand from getOperationAction for all extended
Duncan Sands [Wed, 17 Oct 2007 13:49:58 +0000 (13:49 +0000)]
Return Expand from getOperationAction for all extended
types.  This is needed for SIGN_EXTEND_INREG at least.
It is not clear if this is correct for other operations.
On the other hand, for the various load/store actions
it seems to correct to return the type action, as is
currently done.
Also, it seems that SelectionDAG::getValueType can be
called for extended value types; introduce a map for
holding these, since we don't really want to extend
the vector to be 2^32 pointers long!
Generalize DAGTypeLegalizer::PromoteResult_TRUNCATE
and DAGTypeLegalizer::PromoteResult_INT_EXTEND to handle
the various funky possibilities that apints introduce,
for example that you can promote to a type that needs
to be expanded.

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

17 years agoApply "Instead of loading small c string constant, use integer constant directly...
Devang Patel [Wed, 17 Oct 2007 07:24:40 +0000 (07:24 +0000)]
Apply "Instead of loading small c string constant, use integer constant directly" transformation while processing load instruction.

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

17 years agoApply Chris' suggestions.
Evan Cheng [Wed, 17 Oct 2007 06:53:44 +0000 (06:53 +0000)]
Apply Chris' suggestions.

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

17 years agoChange fp to sint legalization on x86-32 to do 2 x i32
Chris Lattner [Wed, 17 Oct 2007 06:17:29 +0000 (06:17 +0000)]
Change fp to sint legalization on x86-32 to do 2 x i32
loads instead of 1 x i64 loads.  This doesn't change any functionality yet.

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

17 years agofix some funny indentation, add comments.
Chris Lattner [Wed, 17 Oct 2007 06:02:13 +0000 (06:02 +0000)]
fix some funny indentation, add comments.

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

17 years agoOne more extract_subreg coalescing bug fix.
Evan Cheng [Wed, 17 Oct 2007 05:29:37 +0000 (05:29 +0000)]
One more extract_subreg coalescing bug fix.

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

17 years agoUpdate comments.
Evan Cheng [Wed, 17 Oct 2007 02:16:40 +0000 (02:16 +0000)]
Update comments.

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

17 years agoYet another test case for extract_subreg coalescing crash.
Evan Cheng [Wed, 17 Oct 2007 02:15:06 +0000 (02:15 +0000)]
Yet another test case for extract_subreg coalescing crash.

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