1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

10346 Commits

Author SHA1 Message Date
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