Commit Graph

207 Commits

Author SHA1 Message Date
Chris Lattner
9fb471df2e simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30655 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 22:50:29 +00:00
Anton Korobeynikov
f824868ed9 Adding codegeneration for StdCall & FastCall calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30549 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-20 22:03:51 +00:00
Anton Korobeynikov
b74ed07bfd Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 18:23:27 +00:00
Reid Spencer
3a9ec2463d For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29934 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 01:02:49 +00:00
Chris Lattner
7f8897f22e eliminate RegisterOpt. It does the same thing as RegisterPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:42:52 +00:00
Chris Lattner
3dd965c954 Fix PR885
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29794 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 17:20:01 +00:00
Chris Lattner
0deaab89fe Print csretcc calls like this:
call csretcc void %structret( { sbyte }* %P )

instead of this:

        callcsretcc  void %structret( { sbyte }* %P )


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28412 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-19 21:58:52 +00:00
Chris Lattner
7dd29aadf9 pretty print csretcc for calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28410 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-19 21:54:03 +00:00
Chris Lattner
25f88aa7ad Asmprint csret nicely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-19 21:29:57 +00:00
Chris Lattner
5b5cc5f2a1 inverted logic, caught by coverity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28290 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14 18:46:52 +00:00
Chris Lattner
00f1023cf8 Add shufflevector support, todo, implement better constant folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27510 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 01:18:18 +00:00
Evan Cheng
a4ffcc23a2 Back out my last check-in. Wrong place to fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26462 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 22:17:00 +00:00
Evan Cheng
7cfdd01869 AsmWriter should not print LLVM constant in comment. Assembler won't like
multi-line comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26461 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 22:00:59 +00:00
Jim Laskey
38a409c7ae Pretty print large struct constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-27 10:33:53 +00:00
Jim Laskey
c13a72c329 Reverting. Didn't realize some developers were embedding constants in their
target assembler code gen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26383 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-26 10:16:05 +00:00
Jim Laskey
a3f332bdc3 Format large struct constants for readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-25 12:27:03 +00:00
Chris Lattner
80cd115618 Print InlineAsm objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 22:26:05 +00:00
Chris Lattner
863517aea0 Change inline asms to be uniqued like constants, not embedded in a Module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 18:57:27 +00:00
Chris Lattner
cc041ba03a Initial checkin of the InlineAsm class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25570 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 04:13:11 +00:00
Chris Lattner
42a162ed80 Pretty print file-scope asm blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25568 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 00:45:30 +00:00
Chris Lattner
71cdba3177 syntax change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25567 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 00:40:17 +00:00
Chris Lattner
18365506eb Print out inline asm strings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25556 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 23:03:36 +00:00
Chris Lattner
60962dbfba print section info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24313 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-12 00:10:19 +00:00
Chris Lattner
30caa2876c print alignment info for globals and functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24212 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-06 06:48:53 +00:00
Chris Lattner
9fad0b9974 fix printing the alignment directive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24197 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-05 21:20:34 +00:00
Nate Begeman
14b0529532 Add support alignment of allocation instructions.
Add support for specifying alignment and size of setjmp jmpbufs.

No targets currently do anything with this information, nor is it presrved
in the bytecode representation.  That's coming up next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24196 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-05 09:21:28 +00:00
Jim Laskey
cb6682fa44 Culling out use of unions for converting FP to bits and vice versa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22838 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-17 19:34:49 +00:00
Andrew Lenharth
558bc88a00 core changes for varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22254 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-18 18:34:52 +00:00
Reid Spencer
edd5d9ece1 Some cleanups for compilation with GCC 4.0.0 to remove warnings:
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 16:13:11 +00:00
Chris Lattner
d511898b58 add support for explicit calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21746 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 20:26:43 +00:00
Chris Lattner
ddb6db4fa1 Add a 'tail' marker for call instructions, patch contributed by
Alexander Friedman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21722 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 05:51:46 +00:00
Misha Brukman
fd93908ae8 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 23:48:37 +00:00
Chris Lattner
39220ded94 stop using arg_front
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20599 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 05:03:36 +00:00
Chris Lattner
e4d5c441e0 This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.

This patch is contributed by Gabor Greif, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 04:54:21 +00:00
Misha Brukman
0fbd914362 Fix the spelling of the word `the'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02 23:17:31 +00:00
Chris Lattner
31ab1b3d74 Print the module ID as a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20411 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02 23:12:40 +00:00
Chris Lattner
aab1820816 Fix some problems where the verifier would crash on invalid input instead of
reporting the problem and exiting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20302 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 16:58:29 +00:00
Chris Lattner
fe0343a1cd Fix test/Regression/Assembler/2005-02-09-AsmWriterStoreBug.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20089 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-09 17:45:03 +00:00
Chris Lattner
5c461404fe Update for API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19960 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-01 01:24:01 +00:00
Chris Lattner
71d94d16b6 To not break TBAA rules, use a union.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19280 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-04 01:56:57 +00:00
Alkis Evlogimenos
9913e59678 Fix writer to properly quote label names when they don't contain
simple characters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 05:41:10 +00:00
Chris Lattner
333529e6be When printing out a function, make sure that local and global symbols
don't conflict.  This fixes Assembler/2004-12-05-LocalGlobalSymtabConflict.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18532 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 06:44:09 +00:00
Misha Brukman
f771bea740 Remove extra space char
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17834 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:30:05 +00:00
Misha Brukman
3c8f2c66e5 GhostLinkage not allowed in LLVM AsmWriter, either
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:04:34 +00:00
Chris Lattner
b976e66816 Add support for undef and unreachable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17041 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:08:06 +00:00
Reid Spencer
1c7b907325 Okay, the list of link-time passes wasn't such a hot idea. Its prone to
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16333 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 05:43:23 +00:00
Chris Lattner
44da7d7976 Don't print newlines between passes in the pass list.
Note to self: sentences end with ".", not "...".
Note to reid: sentences end with ".", not "".   :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16332 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 05:06:58 +00:00
Chris Lattner
cfe97b78e7 Don't print newlines between each library in the deplibs list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16331 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 04:51:44 +00:00
Reid Spencer
e59eaf407a Add support for the link-time pass list to Modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16321 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 23:44:23 +00:00
Reid Spencer
551ccae044 Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00