Chris Lattner
d958a5a9fe
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
2007-10-22 02:50:12 +00:00
Chris Lattner
ec2fcafbea
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
2007-10-22 02:39:47 +00:00
Anton Korobeynikov
a024e8ceda
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
2007-10-21 23:05:16 +00:00
Chris Lattner
c6185038b8
LoadLibraryPermanently doesn't throw.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43207 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-21 22:58:11 +00:00
Chris Lattner
8b5295b7bb
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
2007-10-21 22:57:11 +00:00
Dale Johannesen
61c7ef34e3
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
2007-10-21 01:07:44 +00:00
Chris Lattner
d0e908e830
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
2007-10-20 22:57:56 +00:00
Owen Anderson
0ec16ee98e
Some improvements based on feedback from Anders.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43203 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-20 06:12:33 +00:00
Owen Anderson
7d69c95759
Fix some weird indenting in code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43202 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-20 05:41:39 +00:00
Owen Anderson
2d279f843c
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
2007-10-20 05:40:47 +00:00
Owen Anderson
6f1fd94fd3
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
2007-10-20 05:23:06 +00:00
Chris Lattner
be5a0a4668
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
2007-10-20 04:32:38 +00:00
Chris Lattner
aaeb0c8666
simplify some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43198 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-20 04:09:48 +00:00
Chris Lattner
d20154c762
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
2007-10-20 04:07:07 +00:00
Evan Cheng
b9d5e7cdc9
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
2007-10-20 04:01:47 +00:00
Dale Johannesen
e526962fc5
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
2007-10-20 00:07:52 +00:00
Evan Cheng
f7c9695a38
Resolve unfold tables ambiguity.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43194 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 23:50:58 +00:00
Evan Cheng
40eaa99fa9
New test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43193 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 22:05:00 +00:00
Evan Cheng
66f7163545
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
2007-10-19 21:23:22 +00:00
Bill Wendling
80629c85f1
Don't branch fold inline asm statements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43191 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 21:09:55 +00:00
Duncan Sands
7f5f6851c3
Add support for a few more nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43190 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 20:29:48 +00:00
Dale Johannesen
b6210fc92b
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
2007-10-19 20:29:00 +00:00
Bill Wendling
4f78af8d77
Removed "-arch i386" by popular demand...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43186 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 18:49:16 +00:00
Bill Wendling
22058955e8
Now with RUN line!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43185 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 18:40:53 +00:00
Bill Wendling
8c0247d005
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
2007-10-19 18:36:04 +00:00
Devang Patel
3305aaa350
This test now passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43183 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 17:11:01 +00:00
Anton Korobeynikov
a98c7b3b24
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
2007-10-19 16:54:13 +00:00
Chris Lattner
f185e67844
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
2007-10-19 16:47:35 +00:00
Hartmut Kaiser
b38e795c4f
Updated VC++ build system
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43180 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 15:51:20 +00:00
Chris Lattner
1c4d492b94
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
2007-10-19 15:28:47 +00:00
Rafael Espindola
7b73a5d6de
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
2007-10-19 14:35:17 +00:00
Duncan Sands
c8ca2365e5
Support for expanding ADDE and SUBE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43175 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 13:06:17 +00:00
Duncan Sands
5d868b1ffe
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
2007-10-19 13:05:40 +00:00
Rafael Espindola
618b0d59e6
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
2007-10-19 11:29:21 +00:00
Rafael Espindola
5c0d6ed325
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
2007-10-19 10:41:11 +00:00
Chris Lattner
1f39dc42cd
Implement a few new operations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43171 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:46:45 +00:00
Chris Lattner
50f4395d86
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
2007-10-19 04:32:47 +00:00
Chris Lattner
c99df1b848
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
2007-10-19 04:14:36 +00:00
Chris Lattner
26cb2862e9
comment fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:08:28 +00:00
Chris Lattner
597ab48ca0
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
2007-10-19 03:58:25 +00:00
Chris Lattner
c224a53d7a
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
2007-10-19 03:33:14 +00:00
Chris Lattner
f58dac3169
add a new target hook.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:31:45 +00:00
Chris Lattner
3a7c33a853
Add an easy microoptimization I noticed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43164 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:29:26 +00:00
Devang Patel
95cf196d15
New test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43162 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 01:28:02 +00:00
Bill Wendling
1851898e75
Negative indices aren't allowed here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43161 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 01:10:49 +00:00
Dale Johannesen
fabd32deb0
More ppcf128 issues (maybe the last)?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 00:59:18 +00:00
Evan Cheng
f0a0cddbcd
- 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
2007-10-18 22:40:57 +00:00
Evan Cheng
58184e6878
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
2007-10-18 21:29:24 +00:00
Devang Patel
99db6add3d
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
2007-10-18 19:52:32 +00:00
Owen Anderson
b388ca9544
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
2007-10-18 19:39:33 +00:00