Chris Lattner
a8ab89e3da
Fairly major change: emit fixed sized allocas in the entry block as a variable,
...
instead of a variable pointer and an alloca. All accesses to the variable then
use the address-of operator to access it. This plays better with the internal
GCC code generation phases, which bail early on functions which contain allocas.
It also makes the code a bit easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6734 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 04:39:14 +00:00
Brian Gaeke
a0145ccb20
Don't include alloca.h on FreeBSD.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 23:57:13 +00:00
Chris Lattner
da92090f0e
Fix typeo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6704 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:21:19 +00:00
Chris Lattner
02da6c0f08
Fix bug: CBackend/2003-06-11-HexConstant.ll
...
Fix bug: CBackend/2003-06-11-LiteralStringProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6697 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:09:09 +00:00
Chris Lattner
940b08dd1e
Don't output explicit initializers for globals that are zero initialized
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 07:10:24 +00:00
Chris Lattner
cf135cbc77
Fix bug: CBackend/2003-06-01-NullPointerType.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6526 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 03:10:53 +00:00
Chris Lattner
d13bd22fbe
Fix a bug with casts to bool. This fixes testcase UnitTests/2003-05-31-CastToBool.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6507 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01 03:36:51 +00:00
Chris Lattner
ab2b328c78
Eliminate unnecessary ->get calls that are now automatically handled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:12:27 +00:00
Chris Lattner
c436b37262
Add support for setjmp/longjmp primitives
...
Patch checked in for Bill Wendling :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-17 22:26:33 +00:00
Chris Lattner
84c0d5e157
Casts are now unnecessary
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6199 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 17:50:19 +00:00
Chris Lattner
ddfc03c8cb
Fix bug: CBackend/2003-05-13-VarArgFunction.ll
...
In C, a prototype with no arguments is varargs. A prototype that takes void
has zero args.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6172 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 20:15:37 +00:00
Chris Lattner
45343ea5ac
Fix bug: CWriter/2003-05-12-IntegerSizeWarning.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6128 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 15:39:31 +00:00
Chris Lattner
18ac3c8914
Add support for variable argument functions!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6044 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 18:41:45 +00:00
Chris Lattner
84e6665570
Fix bug: UnitTests/2003-05-02-DependantPHI.c
...
Fix testcase MultiSource/Ptrdist-ks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6000 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 07:11:00 +00:00
Chris Lattner
edd8ce1370
* Eliminate using decls
...
* Fix some styleistic things
* Fix bug: CWriter/2002-05-16-NameCollide.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5988 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:14:35 +00:00
Chris Lattner
f1acd9623c
Fix problem where labels were being incorrectly elided, and fix problem
...
where PHI copies where not emitted for the default label of switch insts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5882 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:15:13 +00:00
Chris Lattner
f5612b76bc
Fix the super obnoxious "cast to pointer from integer of different size" warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5881 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:09:22 +00:00
Chris Lattner
2ee82e05e3
Remove unneccesary &*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5871 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:36:11 +00:00
Chris Lattner
a9f5e0517e
Add support for the switch instruction to the CWriter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5847 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 20:19:52 +00:00
Joel Stanley
ecd78ac1cb
Fixed alloca declaration problem on sun.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5546 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-12 20:45:00 +00:00
Chris Lattner
6e6026b465
- Eliminated the deferred symbol table stuff in Module & Function, it really
...
wasn't an optimization and it was causing lots of bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 18:36:02 +00:00
Nick Hildenbrandt
a1a64f8f27
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4754 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 22:21:52 +00:00
Nick Hildenbrandt
9850237536
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4745 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 20:55:50 +00:00
Chris Lattner
9c1338b71c
_REALLY_ fix the float constant problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4609 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-07 22:12:53 +00:00
Chris Lattner
eb6f8c757f
Print out 'float' constants correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4607 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-07 19:43:59 +00:00
Nick Hildenbrandt
088b472eed
Fixes escapeing bug in strings. Fixes test case test/Regression/CBackend/2002-11-06-PrintEscaped.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4583 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 21:40:23 +00:00
Nick Hildenbrandt
2cf2cbcefb
Loads and stores can't be inlined. This fixes test/Singlesource/matrixTranspose
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4579 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 20:07:54 +00:00
Nick Hildenbrandt
7e9fea736d
Fixed bug in Regression/CBackend/2002-10-30-FunctionPointerAlloca.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4486 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-01 17:37:09 +00:00
Nick Hildenbrandt
f0fca36d14
Casting NULL can cause problems so lets just not cast NULL to anything.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4349 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 19:54:06 +00:00
Nick Hildenbrandt
50de36a41d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4343 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 19:05:12 +00:00
Nick Hildenbrandt
3cecdc5b9a
Malloc prototyping now works even if the original file had its own prototype for malloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4271 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-23 18:59:40 +00:00
Chris Lattner
e8e035b591
Fix bug: CBackend/2002-10-16-External.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4201 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 20:08:47 +00:00
Chris Lattner
04b72c821e
Fix bug: test/Regression/CBackend/2002-10-15-OpaqueTypeProblem.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4190 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 00:08:22 +00:00
Nick Hildenbrandt
98360a1752
Instead of adding stdlib we just prototype malloc correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4118 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 21:40:44 +00:00
Nick Hildenbrandt
c7140e9bd9
Sun requires you to include stdlib to use malloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4117 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 18:41:44 +00:00
Vikram S. Adve
2a408f06b5
Bug fix: In preventing static global variables from being printed twice,
...
I also prevented external globals from being printed twice, but they
should (extern declaration and definition).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4043 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-05 23:43:10 +00:00
Nick Hildenbrandt
d2eb386c16
Add parens around constant calls to getelemptr to properly associate the reference
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 20:47:24 +00:00
Nick Hildenbrandt
ca626922bc
I was wrong on the removing of those references on the last commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4023 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 21:14:33 +00:00
Nick Hildenbrandt
51c84d14ab
Removed unneeded reference and dereferences.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4016 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 18:34:51 +00:00
Nick Hildenbrandt
275801b2dd
Cleaned up my last check-in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4014 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 18:32:35 +00:00
Nick Hildenbrandt
113ad893b9
No longer include malloc.h. If protoypes are needed for memory functions they will be present in the byte code and the generated c as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4013 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 18:20:18 +00:00
Nick Hildenbrandt
c3dd2af428
Fixed to properly escape quotes in strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3991 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-30 21:11:55 +00:00
Nick Hildenbrandt
e548f009f7
Strings now handled correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3920 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 20:29:26 +00:00
Nick Hildenbrandt
c14ded4858
Parenthesis are now added to casts of type array.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 21:02:50 +00:00
Chris Lattner
d1cf1b458a
Fix cwriter to not output FP constants in ascii, output them in hex instead.
...
This fixes a number of FP precision problems, making the output of the
power benchmark closer to the right answer.
Unfortunately, this only addresses FP constants used directly in functions.
Constants referred to by global constants (such as an array of FP values)
aren't helped by this. Until this happens power won't work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3871 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 23:26:33 +00:00
Chris Lattner
1f8c4a17c1
Fix bug: 2002-09-20-VarArgPrototypes.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3870 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 22:32:30 +00:00
Chris Lattner
270d78a8d6
Fix output of typedefs to avoid syntax errors.
...
* We now can correctly Cify the Olden-power benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3860 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:20:24 +00:00
Chris Lattner
58d04d4e35
* Add a couple of comments to the output c code
...
* _FIX_ infinite recursion problem, due to typedefs of a structure being
printed before the structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3859 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:18:30 +00:00
Chris Lattner
2db41cd5de
Another change that doesn't affect functionality. Since we are only looking
...
at types in the symbol table, only traverse the type plane, saving a loop nest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3858 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:12:13 +00:00
Chris Lattner
2c601a7be1
Make the StructPrinted set only take memory when it's being used.
...
rename parseStruct to printContainedStructs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3857 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 15:05:40 +00:00