Chris Lattner
69b716e81c
Codegen llvm.memset into rep stos[bwd]. Simplify code for llvm.memcpy
...
llvm-svn: 11442
2004-02-14 04:46:05 +00:00
Chris Lattner
6890963e48
add 'rep stos[bwd]' instructions
...
llvm-svn: 11441
2004-02-14 04:45:37 +00:00
Chris Lattner
5e8b7140fd
new testcase for llvm.memset generation
...
llvm-svn: 11440
2004-02-14 04:26:15 +00:00
Chris Lattner
24cd846cc2
These should be mentioned
...
llvm-svn: 11439
2004-02-14 04:12:41 +00:00
Chris Lattner
b4df99f307
Document new intrinsics
...
llvm-svn: 11438
2004-02-14 04:08:35 +00:00
Chris Lattner
fcf79d7e46
builtin_return/frame_address now work
...
llvm-svn: 11437
2004-02-14 04:08:29 +00:00
Chris Lattner
0f95c3097f
Testcase for builtin frame/return address
...
llvm-svn: 11436
2004-02-14 04:06:48 +00:00
Chris Lattner
92d5901cb8
Test that the CFE compiles memset and bzero to llvm.memset
...
llvm-svn: 11435
2004-02-14 03:46:37 +00:00
Chris Lattner
89f1862671
Add a testcase for the frameaddress and returnaddress intrinsics.
...
llvm-svn: 11434
2004-02-14 02:55:47 +00:00
Chris Lattner
b8ecb673d1
Add support for the returnaddress and frameaddress intrinsics
...
llvm-svn: 11433
2004-02-14 02:55:36 +00:00
Chris Lattner
7ab8db4907
Test that the code generator supports these intrinsics
...
llvm-svn: 11432
2004-02-14 02:51:40 +00:00
Chris Lattner
cdfcb976c7
Add llvm.memset/frameaddress/returnaddress intrinsics.
...
llvm-svn: 11431
2004-02-14 02:47:17 +00:00
Alkis Evlogimenos
a31a767307
Use newly added next() and prior() utility functions.
...
llvm-svn: 11430
2004-02-14 01:18:34 +00:00
Alkis Evlogimenos
fa9e207a22
Add next() and prior() iterator utility functions. Unlike std::advance
...
they do not modify the passed iterator but return a copy.
next(myIt) returns copy of myIt incremented once
next(myIt, n) returns copy of myIt incremented n times
prior(myIt) returns copy of myIt decremented once
prior(myIt, n) returns copy of myIt decremented n times
While at it remove obsolete implementation of mapped_iterator.
llvm-svn: 11429
2004-02-14 01:17:28 +00:00
Chris Lattner
15229988fb
Updates for the C backend's movement
...
llvm-svn: 11428
2004-02-14 01:07:17 +00:00
Alkis Evlogimenos
3eeb600093
Use std::numeric_limits<float>::infinity() instead of
...
std::numeric_limits<float>::max() for weighting preallocated
intervals.
llvm-svn: 11427
2004-02-14 00:44:07 +00:00
Chris Lattner
83c5c942ca
Use intrinsic lowering like the rest of the backends. Get rid of crufty hacky
...
code that worked around problems in the mangler
llvm-svn: 11426
2004-02-14 00:31:10 +00:00
Chris Lattner
1bad051558
Add method
...
llvm-svn: 11425
2004-02-14 00:30:31 +00:00
Chris Lattner
6c31b081e4
Fix the logic in the name mangler. If there are two symbols named 'X', and one
...
is external, make sure to mangle the *internal* one, not external one
llvm-svn: 11424
2004-02-14 00:30:23 +00:00
Misha Brukman
b872c6fe8d
Break a line that's over 80cols into two.
...
llvm-svn: 11423
2004-02-13 23:46:47 +00:00
Chris Lattner
bc565b2a6c
There is no need to emit a shift if the size is constant, which is common
...
llvm-svn: 11420
2004-02-13 23:36:47 +00:00
Chris Lattner
8641f2fb58
Make sure to provide a prototype for the cbackend
...
llvm-svn: 11419
2004-02-13 23:36:03 +00:00
Chris Lattner
03eb5eb4f7
Update tests
...
llvm-svn: 11418
2004-02-13 23:33:17 +00:00
Chris Lattner
3681a0bd3f
Moved directory, update makefile
...
llvm-svn: 11417
2004-02-13 23:31:12 +00:00
Chris Lattner
85667eca81
CBackend is no longer here
...
llvm-svn: 11416
2004-02-13 23:29:37 +00:00
Chris Lattner
9301df3932
CBackend now lives here
...
llvm-svn: 11415
2004-02-13 23:29:20 +00:00
Chris Lattner
e2a5f8c233
Do not advertise our -c option anymore
...
llvm-svn: 11413
2004-02-13 23:24:46 +00:00
Chris Lattner
a2896eaee0
Mercilessly rip the cbackend out of llvm-dis. Leave a helpful error message
...
for those who have not heard the news.
llvm-svn: 11412
2004-02-13 23:22:40 +00:00
Chris Lattner
c3f1cb677f
The cbackend has never had anything to do with llvm assembly writing
...
llvm-svn: 11411
2004-02-13 23:19:51 +00:00
Chris Lattner
5a793ef4b5
Add support for -march=c
...
llvm-svn: 11410
2004-02-13 23:19:09 +00:00
Chris Lattner
d076de4bf3
Convert the C backend into a target, for use with LLC. This allows us to use
...
the lowerallocations pass to eliminate malloc/free warnings and hackish code
llvm-svn: 11409
2004-02-13 23:18:48 +00:00
Chris Lattner
93da3b1886
Change how we create the cwriter, and add a buttload of libraries that it now
...
needs. This will be fixed shortly
llvm-svn: 11407
2004-02-13 23:01:14 +00:00
Chris Lattner
d2cd0afd11
Change access to the cwriter
...
llvm-svn: 11406
2004-02-13 23:00:45 +00:00
Chris Lattner
81155b0069
Make the cwriter use the lowerinvoke pass so that it can either use "disabled exceptions" or
...
"expensive exceptions" controlled by an option. Also refactor and eliminate a bunch of cruft.
This is a temporary solution and causes millions of warnings to pour out of programs that use
exceptions, but it should fix the problem with sparc and the 'write' declaration (PR190).
Subsequent changes will make this stink much less
llvm-svn: 11405
2004-02-13 23:00:29 +00:00
Chris Lattner
110d7bd802
New testcase. The CFE should not generate illegal LLVM intrinsics, even if
...
the input program is horribly broken (like 126.gcc).
llvm-svn: 11401
2004-02-13 22:04:41 +00:00
John Criswell
b13b431a6e
Added check for target machine endian-ness and put the result into
...
Makefile.config (ENDIAN variable is set to big or little).
llvm-svn: 11398
2004-02-13 21:57:29 +00:00
Chris Lattner
33ed4f9de9
Add support for a bunch more functions
...
llvm-svn: 11395
2004-02-13 21:21:48 +00:00
Alkis Evlogimenos
6d6ab846af
Remove getAllocatedRegNum(). Use getReg() instead.
...
llvm-svn: 11393
2004-02-13 21:01:20 +00:00
Alkis Evlogimenos
e504fa6710
Mark MachineBasicBlock::operator[] deprecated.
...
llvm-svn: 11392
2004-02-13 20:05:56 +00:00
Alkis Evlogimenos
8159b05e03
Define DEPRECATED so that it can be used in function and variable
...
declarations.
llvm-svn: 11391
2004-02-13 20:05:44 +00:00
Chris Lattner
fbacee0077
Add support for fopen/fclose. Specifically with fopen, we were marking all of the
...
operands as incomplete, though fopen is known to only read them. This just adds
fclose for symmetry, though it doesn't gain anything. This makes the dsgraphs for
181.mcf much more precise.
llvm-svn: 11390
2004-02-13 20:05:32 +00:00
Alkis Evlogimenos
c1ef192d44
Use getNumVirtualRegs().
...
Whitespace cleanups.
llvm-svn: 11389
2004-02-13 18:20:47 +00:00
Alkis Evlogimenos
c109214f58
Add getNumVirtualRegs().
...
Whitespace cleanups.
llvm-svn: 11388
2004-02-13 18:07:06 +00:00
Chris Lattner
d07ccb4844
Bug fixed
...
llvm-svn: 11385
2004-02-13 17:03:01 +00:00
Chris Lattner
2265790f9f
Fix compilation of 126.gcc: intrinsic functions cannot throw, so they are not
...
allowed in invoke instructions. Thus, if we are inlining a call to an intrinsic
function into an invoke site, we don't need to turn the call into an invoke!
llvm-svn: 11384
2004-02-13 16:47:35 +00:00
Chris Lattner
b0fadd694d
Intrinsic functions cannot throw
...
llvm-svn: 11383
2004-02-13 16:46:46 +00:00
John Criswell
848bbea2c5
Updated to list all code/directories that have additional or alternate
...
licensing information.
Also added note to indicate that warrany disclaimer and the no-endorsement
clause applies to everything.
llvm-svn: 11382
2004-02-13 16:46:05 +00:00
Chris Lattner
170dd38f7c
Bug fix
...
llvm-svn: 11381
2004-02-13 16:40:24 +00:00
Chris Lattner
bdd49e8f4d
exit(1) instead of abort()'ing on error
...
llvm-svn: 11380
2004-02-13 16:37:43 +00:00
Chris Lattner
92da902d40
Fix buggy error message problem
...
llvm-svn: 11379
2004-02-13 16:33:56 +00:00