summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Previous checkin broke printf(%a) support for fp constants-- re-fix it.Brian Gaeke2004-08-251-1/+9
| | | | llvm-svn: 16051
* New version of Bill Wendling's PR33 patch.Brian Gaeke2004-08-251-24/+38
| | | | llvm-svn: 16050
* Paper over CBackend/2004-08-09-va-end-null.llChris Lattner2004-08-101-3/+7
| | | | | | | | | Note that this indicates a serious problem with the way we are emitting varargs, but this should not be properly fixed until after 1.3. This patch SHOULD go into 1.3. llvm-svn: 15602
* Temporarily disable this code, as it is emitting LLVM_NAN("nan") which ↵Chris Lattner2004-07-251-2/+2
| | | | | | | | | | | results in a call to the glibc 'nan' function because the initializer is not a string. This breaks when used in a global initializer. Try compiling this testcase for example: %X = global float <some nan value> llvm-svn: 15223
* Emit NaNs and INFs bit-identically to the bytecode file, if the system hasBrian Gaeke2004-07-211-2/+64
| | | | | | | printf("%a") support. Patch contributed by Bill Wendling. llvm-svn: 15056
* bug 122:Reid Spencer2004-07-181-6/+4
| | | | | | - Replace ConstantPointerRef usage with GlobalValue usage llvm-svn: 14953
* Patches towards fixing PR341Chris Lattner2004-07-151-3/+3
| | | | llvm-svn: 14841
* Apple's MacOS X is another OS which does not provide alloca() via <alloca.h>Misha Brukman2004-07-121-1/+1
| | | | llvm-svn: 14781
* Delete the allocate*TargetMachine function, which is now dead .Chris Lattner2004-07-111-6/+0
| | | | llvm-svn: 14755
* Make these format a bit nicerChris Lattner2004-07-111-1/+1
| | | | llvm-svn: 14747
* Auto-registrate targetChris Lattner2004-07-111-0/+4
| | | | llvm-svn: 14745
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-1/+2
| | | | llvm-svn: 14622
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14266
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-3/+3
| | | | llvm-svn: 14201
* <alloca.h> on cygwin pulls in a ton of stuff (macros and function protos)Chris Lattner2004-06-021-1/+1
| | | | | | | | | that we REALLY don't want in the CBE code. With this fix, the CBE passes all of the MultiSource tests on cygwin that it does on linux. Yaay! llvm-svn: 13975
OpenPOWER on IntegriCloud