Chris Lattner
1dfa97034d
Allow for fixed objects to reside in the local area, and if they don't to not
...
clobber them by allocating other objects in the same space!
llvm-svn: 11454
2004-02-15 00:14:20 +00:00
Alkis Evlogimenos
6a35516dcc
Add back machine code deleter pass until we get a MachineCode pass
...
that will be responsible for the creation of MachineFunctions and will
be required by all MachineFunctionPass passes.
llvm-svn: 11453
2004-02-15 00:03:15 +00:00
Alkis Evlogimenos
fccb75d91e
Modularize implementation of LeakDetector into a typed template
...
implementation class. This makes the code simpler and allows for more
types to be added easily. It also implements caching for generic
objects (it was only available for llvm objects).
llvm-svn: 11452
2004-02-14 23:33:39 +00:00
Chris Lattner
2e4acc0a73
Add support for the 'pop' instruction
...
llvm-svn: 11451
2004-02-14 21:06:02 +00:00
Chris Lattner
f54cd1524d
There is no reason to align the stack pointer if there are no callees of this
...
function!
llvm-svn: 11450
2004-02-14 20:11:07 +00:00
Chris Lattner
612ce0c47c
There is no reason to align the stack pointer if there are no callees of this function!
...
llvm-svn: 11449
2004-02-14 20:10:59 +00:00
Chris Lattner
7dceed5ff9
The prologue/epilogue related method calls have no reason to return a value,
...
make them return void.
This allows us to avoid some costly MBB.size() calls
llvm-svn: 11448
2004-02-14 19:49:54 +00:00
Chris Lattner
72862f132c
The prologue/epilogue related method calls have no reason to return a value,
...
make them return void.
llvm-svn: 11447
2004-02-14 19:49:05 +00:00
Chris Lattner
34c47d967e
fix typeo
...
llvm-svn: 11446
2004-02-14 19:27:26 +00:00
Chris Lattner
9f75a55329
finegrainify namespacification, fix 80col prob
...
llvm-svn: 11445
2004-02-14 06:00:36 +00:00
Chris Lattner
0c48a03374
A target that doesn't support these intrinsics will still meet spec (the
...
intrinsic will always produce zero), but it will behave unexpectedly, so
warn like GCC does.
llvm-svn: 11444
2004-02-14 04:52:06 +00:00
Chris Lattner
d6a39eaa70
Urg, right. These need an input value...
...
llvm-svn: 11443
2004-02-14 04:47:23 +00:00
Chris Lattner
2f49d5bb35
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
8bed37595d
add 'rep stos[bwd]' instructions
...
llvm-svn: 11441
2004-02-14 04:45:37 +00:00
Chris Lattner
2c0d1265dc
new testcase for llvm.memset generation
...
llvm-svn: 11440
2004-02-14 04:26:15 +00:00
Chris Lattner
141ebb625d
These should be mentioned
...
llvm-svn: 11439
2004-02-14 04:12:41 +00:00
Chris Lattner
3649c3aaf7
Document new intrinsics
...
llvm-svn: 11438
2004-02-14 04:08:35 +00:00
Chris Lattner
3646dadc6c
builtin_return/frame_address now work
...
llvm-svn: 11437
2004-02-14 04:08:29 +00:00
Chris Lattner
451f1bca6f
Testcase for builtin frame/return address
...
llvm-svn: 11436
2004-02-14 04:06:48 +00:00
Chris Lattner
cd947e4b8b
Test that the CFE compiles memset and bzero to llvm.memset
...
llvm-svn: 11435
2004-02-14 03:46:37 +00:00
Chris Lattner
cf81fc70a4
Add a testcase for the frameaddress and returnaddress intrinsics.
...
llvm-svn: 11434
2004-02-14 02:55:47 +00:00
Chris Lattner
f7c1088a36
Add support for the returnaddress and frameaddress intrinsics
...
llvm-svn: 11433
2004-02-14 02:55:36 +00:00
Chris Lattner
3c4bc03c8a
Test that the code generator supports these intrinsics
...
llvm-svn: 11432
2004-02-14 02:51:40 +00:00
Chris Lattner
dc632111bf
Add llvm.memset/frameaddress/returnaddress intrinsics.
...
llvm-svn: 11431
2004-02-14 02:47:17 +00:00
Alkis Evlogimenos
5a92240270
Use newly added next() and prior() utility functions.
...
llvm-svn: 11430
2004-02-14 01:18:34 +00:00
Alkis Evlogimenos
7c6e4d5ae6
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
a9c61b33c6
Updates for the C backend's movement
...
llvm-svn: 11428
2004-02-14 01:07:17 +00:00
Alkis Evlogimenos
ddcb4ad53e
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
0997f207c2
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
7934640709
Add method
...
llvm-svn: 11425
2004-02-14 00:30:31 +00:00
Chris Lattner
77687a9746
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
7c437d3226
Break a line that's over 80cols into two.
...
llvm-svn: 11423
2004-02-13 23:46:47 +00:00
Chris Lattner
7b5f374a18
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
23472a5a2a
Make sure to provide a prototype for the cbackend
...
llvm-svn: 11419
2004-02-13 23:36:03 +00:00
Chris Lattner
7b65a0008d
Update tests
...
llvm-svn: 11418
2004-02-13 23:33:17 +00:00
Chris Lattner
768fa7d206
Moved directory, update makefile
...
llvm-svn: 11417
2004-02-13 23:31:12 +00:00
Chris Lattner
b24eb91e2c
CBackend is no longer here
...
llvm-svn: 11416
2004-02-13 23:29:37 +00:00
Chris Lattner
1f9c6eb358
CBackend now lives here
...
llvm-svn: 11415
2004-02-13 23:29:20 +00:00
Chris Lattner
c5a4641c21
Do not advertise our -c option anymore
...
llvm-svn: 11413
2004-02-13 23:24:46 +00:00
Chris Lattner
92849b7dc9
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
c7dd48567f
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
3fba9dc096
Add support for -march=c
...
llvm-svn: 11410
2004-02-13 23:19:09 +00:00
Chris Lattner
0591bb5bc8
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
9fae109121
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
b09176a1e2
Change access to the cwriter
...
llvm-svn: 11406
2004-02-13 23:00:45 +00:00
Chris Lattner
d2b6e183e9
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
067b6bb9b2
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
3b4195f344
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
d17e15eddd
Add support for a bunch more functions
...
llvm-svn: 11395
2004-02-13 21:21:48 +00:00
Alkis Evlogimenos
8cdd0215bf
Remove getAllocatedRegNum(). Use getReg() instead.
...
llvm-svn: 11393
2004-02-13 21:01:20 +00:00