Alkis Evlogimenos [Sun, 15 Feb 2004 00:03:15 +0000 (00:03 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11453
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 14 Feb 2004 23:33:39 +0000 (23:33 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11452
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 21:06:02 +0000 (21:06 +0000)]
Add support for the 'pop' instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11451
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 20:11:07 +0000 (20:11 +0000)]
There is no reason to align the stack pointer if there are no callees of this
function!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 20:10:59 +0000 (20:10 +0000)]
There is no reason to align the stack pointer if there are no callees of this function!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11449
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 19:49:54 +0000 (19:49 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11448
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 19:49:05 +0000 (19:49 +0000)]
The prologue/epilogue related method calls have no reason to return a value,
make them return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11447
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 19:27:26 +0000 (19:27 +0000)]
fix typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11446
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 06:00:36 +0000 (06:00 +0000)]
finegrainify namespacification, fix 80col prob
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:52:06 +0000 (04:52 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:47:23 +0000 (04:47 +0000)]
Urg, right. These need an input value...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11443
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:46:05 +0000 (04:46 +0000)]
Codegen llvm.memset into rep stos[bwd]. Simplify code for llvm.memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:45:37 +0000 (04:45 +0000)]
add 'rep stos[bwd]' instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11441
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:26:15 +0000 (04:26 +0000)]
new testcase for llvm.memset generation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:12:41 +0000 (04:12 +0000)]
These should be mentioned
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:08:35 +0000 (04:08 +0000)]
Document new intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:08:29 +0000 (04:08 +0000)]
builtin_return/frame_address now work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 04:06:48 +0000 (04:06 +0000)]
Testcase for builtin frame/return address
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 03:46:37 +0000 (03:46 +0000)]
Test that the CFE compiles memset and bzero to llvm.memset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11435
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 02:55:47 +0000 (02:55 +0000)]
Add a testcase for the frameaddress and returnaddress intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11434
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 02:55:36 +0000 (02:55 +0000)]
Add support for the returnaddress and frameaddress intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 02:51:40 +0000 (02:51 +0000)]
Test that the code generator supports these intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11432
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 02:47:17 +0000 (02:47 +0000)]
Add llvm.memset/frameaddress/returnaddress intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 14 Feb 2004 01:18:34 +0000 (01:18 +0000)]
Use newly added next() and prior() utility functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11430
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 14 Feb 2004 01:17:28 +0000 (01:17 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11429
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 01:07:17 +0000 (01:07 +0000)]
Updates for the C backend's movement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11428
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 14 Feb 2004 00:44:07 +0000 (00:44 +0000)]
Use std::numeric_limits<float>::infinity() instead of
std::numeric_limits<float>::max() for weighting preallocated
intervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 00:31:10 +0000 (00:31 +0000)]
Use intrinsic lowering like the rest of the backends. Get rid of crufty hacky
code that worked around problems in the mangler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 00:30:31 +0000 (00:30 +0000)]
Add method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11425
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Feb 2004 00:30:23 +0000 (00:30 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11424
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Feb 2004 23:46:47 +0000 (23:46 +0000)]
Break a line that's over 80cols into two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:36:47 +0000 (23:36 +0000)]
There is no need to emit a shift if the size is constant, which is common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11420
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:36:03 +0000 (23:36 +0000)]
Make sure to provide a prototype for the cbackend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11419
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:33:17 +0000 (23:33 +0000)]
Update tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:31:12 +0000 (23:31 +0000)]
Moved directory, update makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11417
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:29:37 +0000 (23:29 +0000)]
CBackend is no longer here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11416
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:29:20 +0000 (23:29 +0000)]
CBackend now lives here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:24:46 +0000 (23:24 +0000)]
Do not advertise our -c option anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:22:40 +0000 (23:22 +0000)]
Mercilessly rip the cbackend out of llvm-dis. Leave a helpful error message
for those who have not heard the news.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:19:51 +0000 (23:19 +0000)]
The cbackend has never had anything to do with llvm assembly writing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:19:09 +0000 (23:19 +0000)]
Add support for -march=c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:18:48 +0000 (23:18 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11409
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:01:14 +0000 (23:01 +0000)]
Change how we create the cwriter, and add a buttload of libraries that it now
needs. This will be fixed shortly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:00:45 +0000 (23:00 +0000)]
Change access to the cwriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 23:00:29 +0000 (23:00 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 22:04:41 +0000 (22:04 +0000)]
New testcase. The CFE should not generate illegal LLVM intrinsics, even if
the input program is horribly broken (like 126.gcc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11401
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 13 Feb 2004 21:57:29 +0000 (21:57 +0000)]
Added check for target machine endian-ness and put the result into
Makefile.config (ENDIAN variable is set to big or little).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11398
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 21:21:48 +0000 (21:21 +0000)]
Add support for a bunch more functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11395
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 13 Feb 2004 21:01:20 +0000 (21:01 +0000)]
Remove getAllocatedRegNum(). Use getReg() instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 13 Feb 2004 20:05:56 +0000 (20:05 +0000)]
Mark MachineBasicBlock::operator[] deprecated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11392
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 13 Feb 2004 20:05:44 +0000 (20:05 +0000)]
Define DEPRECATED so that it can be used in function and variable
declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 20:05:32 +0000 (20:05 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11390
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 13 Feb 2004 18:20:47 +0000 (18:20 +0000)]
Use getNumVirtualRegs().
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11389
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 13 Feb 2004 18:07:06 +0000 (18:07 +0000)]
Add getNumVirtualRegs().
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 17:03:01 +0000 (17:03 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11385
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:47:35 +0000 (16:47 +0000)]
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11384
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:46:46 +0000 (16:46 +0000)]
Intrinsic functions cannot throw
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11383
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 13 Feb 2004 16:46:05 +0000 (16:46 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11382
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:40:24 +0000 (16:40 +0000)]
Bug fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11381
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:37:43 +0000 (16:37 +0000)]
exit(1) instead of abort()'ing on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:33:56 +0000 (16:33 +0000)]
Fix buggy error message problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11379
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Feb 2004 16:23:14 +0000 (16:23 +0000)]
Fix spelling of `tendency'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:16:35 +0000 (16:16 +0000)]
Expose a pass ID for lower-invoke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:16:16 +0000 (16:16 +0000)]
Expose a pass ID that can be 'required'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:14:50 +0000 (16:14 +0000)]
Squish warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:09:54 +0000 (16:09 +0000)]
Restructure code to handle memcpy/memmove
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:09:37 +0000 (16:09 +0000)]
Right, memcpy READS memory too :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 16:04:51 +0000 (16:04 +0000)]
New testcase for support for memcpy/memmove
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11372
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 06:18:39 +0000 (06:18 +0000)]
Fix off-by-one in Interpreter::getFirstVarArg(), which was punishing
any attempts by LLI to use varargs (possibly left over from the introduction
of IntrinsicLowering??)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11370
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Feb 2004 06:18:21 +0000 (06:18 +0000)]
Fine grainify namespacification, prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11369
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 05:48:00 +0000 (05:48 +0000)]
The Interpreter was failing the AtExit UnitTest. This fixes it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11367
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 04:49:04 +0000 (04:49 +0000)]
Update the example here in the header file.
I don't know about you guys, but I rarely read the .html manuals :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11366
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 04:40:15 +0000 (04:40 +0000)]
Include <iosfwd>.
Add prototypes for MachineBasicBlock's dump() and print() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11365
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 04:39:55 +0000 (04:39 +0000)]
Refactor MachineFunction::print() into MachineBasicBlock::print().
Add MachineBasicBlock::dump().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11364
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Feb 2004 04:39:32 +0000 (04:39 +0000)]
Add head-of-file comments and Doxygen comments. Tighten up a lot of whitespace.
Rename SetMachineOperandConst's formal parameters to match other methods here.
Mark some methods as being used only by the SPARC back-end.
Fix a missing-paren bug in OutputValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 23:13:33 +0000 (23:13 +0000)]
Add support for memcpy and memmove intrinsics. Why isn't the cwriter using
the intrinsiclowering code?? :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11362
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 21:21:17 +0000 (21:21 +0000)]
New features
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11361
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 21:18:15 +0000 (21:18 +0000)]
Be a bit more specific about what the alignment value means and the restrictions on it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 21:06:52 +0000 (21:06 +0000)]
New testcase for PR233: [llvmgcc] Structure copies result in a LOT of code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11359
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 19:12:03 +0000 (19:12 +0000)]
Move ilist_trairs<MachineInstr> in MachineBasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11358
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 18:49:07 +0000 (18:49 +0000)]
Add parent pointer to MachineInstr that points to owning
MachineBasicBlock. Also change opcode to a short and numImplicitRefs
to an unsigned char so that overall MachineInstr's size stays the
same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11357
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 Feb 2004 18:11:53 +0000 (18:11 +0000)]
Fixed minor typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 18:11:20 +0000 (18:11 +0000)]
Add support for the llvm.memmove intrinsic
Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 18:10:10 +0000 (18:10 +0000)]
Add support for the llvm.memmove intrinsic.
Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:57:11 +0000 (17:57 +0000)]
Urg, check in header I forgot. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:53:43 +0000 (17:53 +0000)]
Test that we get rep movs when calling memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:53:22 +0000 (17:53 +0000)]
Add support for the rep movs[bwd] instructions, and emit them when code
generating the llvm.memcpy intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:01:32 +0000 (17:01 +0000)]
Document the llvm.memcpy intrinsic. Clean up some of the formatting of other
sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:01:09 +0000 (17:01 +0000)]
Implement the llvm.memcpy intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:09:53 +0000 (16:09 +0000)]
Rename the opCode instance variable to Opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:05:03 +0000 (16:05 +0000)]
Remove a dead field from MachineInstr!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:04:49 +0000 (16:04 +0000)]
This field is never read
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11346
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 08:11:04 +0000 (08:11 +0000)]
Change interface so that we can add to the end of a basic block
without getting an assertion from ilist that we are dereferencing
ilist<T>::end().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11345
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:26:49 +0000 (04:26 +0000)]
Add one more doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11344
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:15:00 +0000 (04:15 +0000)]
Express one of MachineOperand's many constructors in terms of another, by means of default arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11343
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:01:07 +0000 (04:01 +0000)]
Remove this MachineOpCodeFlags assertion - its test can never be false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11342
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:00:55 +0000 (04:00 +0000)]
Remove these MachineOpCodeFlags and their accessor - they are never set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11341
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 02:27:10 +0000 (02:27 +0000)]
Change MachineBasicBlock's vector of MachineInstr pointers into an
ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 01:34:05 +0000 (01:34 +0000)]
getOpCode() --> getOpcode().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11339
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 01:34:03 +0000 (01:34 +0000)]
Remove getOpCode(). Help doxygenify some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11338
91177308-0d34-0410-b5e6-
96231b3b80d8