summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fix CBackend/2005-09-27-VolatileFuncPtr.llChris Lattner2005-09-271-4/+4
| | | | llvm-svn: 23475
* Fix PR618 and Regression/CodeGen/CBackend/2005-08-23-Fmod.ll by not emittingChris Lattner2005-08-231-0/+14
| | | | | | x%y for 'rem' on fp values. llvm-svn: 22984
* Culling out use of unions for converting FP to bits and vice versa.Jim Laskey2005-08-171-20/+5
| | | | llvm-svn: 22838
* Fixed PR#596:John Criswell2005-07-141-2/+2
| | | | | | | | Add parenthesis around the value being negated; that way, if the value begins with a minus sign (e.g. negative integer), we won't generate a C predecrement operator by mistake. llvm-svn: 22437
* Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFileChris Lattner2005-06-251-3/+4
| | | | | | interface. llvm-svn: 22282
* If we support structs as va_list, we must pass pointers to them to va_copyAndrew Lenharth2005-06-221-1/+1
| | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
* core changes for varargsAndrew Lenharth2005-06-181-18/+13
| | | | llvm-svn: 22254
* clean up the CBE output a bitChris Lattner2005-05-061-13/+15
| | | | llvm-svn: 21740
* add tail marker as a commentChris Lattner2005-05-061-0/+1
| | | | llvm-svn: 21739
* Remove trailing whitespace, patch by Markus Oberhumer.Misha Brukman2005-04-201-56/+56
| | | | llvm-svn: 21379
* Fix the 3 regressions last night, due to my buggy patch from yesterday.Chris Lattner2005-03-191-1/+1
| | | | llvm-svn: 20689
* remove use of getPrev() and getNext() on ilist nodes.Chris Lattner2005-03-181-5/+8
| | | | llvm-svn: 20673
* stop using arg_frontChris Lattner2005-03-151-1/+1
| | | | llvm-svn: 20599
* stop using arg_backChris Lattner2005-03-151-1/+1
| | | | llvm-svn: 20598
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-13/+13
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Make sure to remove all dead type names from the symbol table, not justChris Lattner2005-03-081-9/+8
| | | | | | | struct types. This fixes Regression/CodeGen/CBackend/2005-03-08-RecursiveTypeCrash.ll, a crash on Java output that Alkis reported. llvm-svn: 20519
* Single characters should be printed out as chars, not strings.Misha Brukman2005-03-081-2/+2
| | | | llvm-svn: 20515
* simplify some code.Chris Lattner2005-03-061-5/+4
| | | | llvm-svn: 20471
* Print -X like this:Chris Lattner2005-03-031-22/+30
| | | | | | | | | | | | | | double test(double l1_X) { return (-l1_X); } instead of like this: double test(double l1_X) { return (-0x0p+0 - l1_X); } llvm-svn: 20423
* Do not lower malloc's to pass "sizeof" expressions like this:Chris Lattner2005-03-031-1/+1
| | | | | | | | | | | | ltmp_0_7 = malloc(((unsigned )(&(((signed char (*)[784])/*NULL*/0)[1u])))); Instead, just emit the literal constant, like this: ltmp_0_7 = malloc(784u); This works around a bug in ICC 8.1 compiling the CBE generated code. :-( llvm-svn: 20415
* Remove tabs from file.Chris Lattner2005-02-281-3/+2
| | | | llvm-svn: 20380
* Add support to the C backend for llvm.prefetch. Patch contributed byChris Lattner2005-02-281-0/+13
| | | | | | Justin Wick! llvm-svn: 20378
* Fix volatile load/store of pointers. Consider this testcase:Chris Lattner2005-02-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | void %test(int** %P) { %A = volatile load int** %P ret void } void %test2(int*** %Q) { %P = load int*** %Q volatile store int** %P, int*** %Q ret void } instead of emitting: void test(int **l1_P) { int *l2_A; l2_A = (int **((volatile int **)l1_P)); return; } void test2(int ***l2_Q) { int **l1_P; l1_P = *l2_Q; *((volatile int ***)l2_Q) = l1_P; return; } ... which is loading/storing volatile pointers, not through volatile pointers, emit this (which is right): void test(int **l1_P) { int *l3_A; l3_A = *((int * volatile*)l1_P); return; } void test2(int ***l2_Q) { int **l1_P; l1_P = *l2_Q; *((int ** volatile*)l2_Q) = l1_P; return; } llvm-svn: 20191
* Write out single characters as chars, not strings.Misha Brukman2005-02-141-67/+67
| | | | llvm-svn: 20179
* Implement CodeGen/CBackend/2005-02-14-VolatileOperations.llChris Lattner2005-02-141-0/+15
| | | | | | Volatile loads and stores need to emit volatile pointer operations in C. llvm-svn: 20177
* Fix hyphenation in output commentMisha Brukman2005-01-311-1/+1
| | | | llvm-svn: 19954
* Fix alloca support for Cygwin. On cygwin its __alloca not __builtin_allocaReid Spencer2005-01-231-1/+4
| | | | llvm-svn: 19776
* Fix CBE code so that it compiles with VC++.Jeff Cohen2005-01-061-1/+1
| | | | llvm-svn: 19303
* Fix PR490Chris Lattner2004-12-291-0/+6
| | | | | | Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll llvm-svn: 19176
* Fix PR485, instead of emitting zero sized arrays, emit arrays of size 1.Chris Lattner2004-12-151-0/+1
| | | | llvm-svn: 18974
* When generating code for X86 targets, make sure the fp control word is setChris Lattner2004-12-131-0/+13
| | | | | | to 64-bit precision, not 80 bits. llvm-svn: 18915
* Emit correct prototype for __builtin_alloca on V8.Brian Gaeke2004-12-101-1/+8
| | | | llvm-svn: 18745
* Move lower intrinsics before FP constant emission, in caseChris Lattner2004-12-051-2/+7
| | | | | | | | | intrinsic lowering ever introduces constants. Rename local symbols before printing function bodies, fixing 255.vortex with the CBE!!! llvm-svn: 18534
* Fix test/Regression/CodeGen/CBackend/2004-12-03-ExternStatics.ll andChris Lattner2004-12-031-1/+4
| | | | | | PR472 llvm-svn: 18459
* Reverting revision 1.209.John Criswell2004-12-021-1/+1
| | | | | | | Including alloca.h on Solaris brings in the prototype of strftime(), which breaks compilation of CBE generated code. llvm-svn: 18435
* Do not let GCC emit a warning for INT64_MINChris Lattner2004-11-301-2/+5
| | | | llvm-svn: 18398
* Sparcs behave better if we use <alloca.h> and avoid messing with ↵Brian Gaeke2004-11-301-1/+1
| | | | | | __builtin_alloca. llvm-svn: 18397
* Hack around stupidity in GCC, fixing Burg with the CBE andChris Lattner2004-11-131-9/+56
| | | | | | CBackend/2004-11-13-FunctionPointerCast.llx llvm-svn: 17710
* Removed dead method, printPHICopiesForSuccessors().John Criswell2004-10-251-21/+0
| | | | llvm-svn: 17216
* Modified switch generation so that only the phi values associated with theJohn Criswell2004-10-251-1/+2
| | | | | | destination basic block are copied. llvm-svn: 17212
* Small performance improvement in generated C code:John Criswell2004-10-201-1/+23
| | | | | | | | | | | | Instead of unconditionally copying all phi node values into temporaries for all successor blocks, generate code that will determine what successor block will be called and then copy only those phi node values needed by the successor block. This seems to cut down namd execution time from being 8% higher than GCC to 4% higher than GCC. llvm-svn: 17144
* Print a semicolon for the unreacahble instruction. This fixes problemsChris Lattner2004-10-171-1/+1
| | | | | | where C requires semicolons in some cases to indicate null statements. llvm-svn: 17107
* The first hunk corrects a bug when printing undef null values. We would printChris Lattner2004-10-171-6/+11
| | | | | | | | 0->field, which is illegal. Now we print ((foo*)0)->field. The second hunk is an optimization to not print undefined phi values. llvm-svn: 17094
* Add support for unreachable and undefChris Lattner2004-10-161-2/+10
| | | | llvm-svn: 17048
* Fix a warning that is emitted on the sunsChris Lattner2004-10-111-1/+1
| | | | llvm-svn: 16917
* Really fix FreeBSD, which apparently doesn't tolerate the extern.Chris Lattner2004-10-061-2/+3
| | | | | | Thanks to Jeff Cohen for pointing out my goof. llvm-svn: 16762
* FreeBSD uses GCC. Patch contributed by Jeff Cohen!Chris Lattner2004-10-061-3/+2
| | | | llvm-svn: 16756
* Pull assignment out of for loop conditional in order for this toAlkis Evlogimenos2004-09-281-2/+2
| | | | | | compile under windows. Patch contributed by Paolo Invernizzi! llvm-svn: 16534
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-3/+3
| | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. llvm-svn: 16436
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | 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/. llvm-svn: 16137
OpenPOWER on IntegriCloud