summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend
Commit message (Collapse)AuthorAgeFilesLines
...
* Add mingw support, patch contributed by AntonChris Lattner2006-06-021-1/+1
| | | | llvm-svn: 28661
* For PR786:Reid Spencer2006-06-011-0/+3
| | | | | | Don't warn about -pedantic errors. Add a note to the PR instead. llvm-svn: 28616
* For PR786:Reid Spencer2006-06-011-1/+0
| | | | | | | | | Turn -pedantic and -Wno-long-long compile flags on by default. In a few places, avoid the warnings by removing these options in the local makefile. One notable exception: lib/Target/CBackend/Writer.cpp. These warnings are left on as a reminder to developers to clean them up. llvm-svn: 28614
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-011-1/+1
| | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610
* Fix casting so there's no warning on Alpha.Reid Spencer2006-05-311-1/+1
| | | | llvm-svn: 28605
* For PR786:Reid Spencer2006-05-241-1/+1
| | | | | | | | Minor tweaks in public headers and a few .cpp files so that LLVM can build successfully with -pedantic and projects using LLVM with -pedantic don't get warnings from LLVM. There's still more -pedantic warnings to fix. llvm-svn: 28453
* Print struct return functions and calls as actually returning the hiddenChris Lattner2006-05-231-75/+171
| | | | | | | | argument struct pointer, enabling ABI compatibility for the CBE with platforms with strange struct-return ABIs. This fixes 252.eon and CoyoteBench/fftbench on Darwin/X86 among other things. llvm-svn: 28442
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-0/+1
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Fix a bug in Owen's checkin that broke the CBE on all non sparc v9 platforms.Chris Lattner2006-05-031-1/+1
| | | | llvm-svn: 28081
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-1/+6
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Add checks for __OpenBSD__.Jeff Cohen2006-04-171-1/+1
| | | | llvm-svn: 27761
* Modify how CBE handles #lines.Jim Laskey2006-03-231-9/+5
| | | | llvm-svn: 26990
* Eliminate IntrinsicLowering from TargetMachine.Chris Lattner2006-03-232-7/+5
| | | | | | Make the CBE and V9 backends create their own, since they're the only ones that use it. llvm-svn: 26974
* Handle builtins that directly correspond to GCC builtins.Chris Lattner2006-03-131-2/+25
| | | | llvm-svn: 26737
* Handle the removal of the debug chain.Jim Laskey2006-03-131-2/+2
| | | | llvm-svn: 26729
* Add #line support for CBE.Jim Laskey2006-03-081-0/+17
| | | | llvm-svn: 26621
* Two things:Chris Lattner2006-03-071-12/+89
| | | | | | | | 1. Don't emit debug info, or other llvm.metadata to the .cbe.c file. 2. Mark static ctors/dtors as such, so that bugpoint works on C++ code compiled with the new CFE. llvm-svn: 26602
* Another hack due to allowing multiple symbols with the same name.Chris Lattner2006-02-131-11/+52
| | | | llvm-svn: 26150
* Make the C writer work with packed types. printContainedStructs isRobert Bocchino2006-01-201-4/+49
| | | | | | still not quite right and will be fixed later. llvm-svn: 25488
* Simplify CWriter::printContainedStructs, also allowing it to work withChris Lattner2006-01-201-18/+11
| | | | | | PackedTypes as a side-effect. llvm-svn: 25485
* yet more C++ standards-compliance stuff.Duraid Madina2005-12-271-0/+1
| | | | llvm-svn: 25028
* do not allow '.' in symbol namesChris Lattner2005-11-101-0/+1
| | | | llvm-svn: 24292
* Call this method with the object we haveChris Lattner2005-11-101-2/+2
| | | | llvm-svn: 24279
* Add a new option to indicate we want the code generator to emit code ↵Chris Lattner2005-11-082-2/+2
| | | | | | quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build. llvm-svn: 24233
* Fix a QOI issue noticed by Markus F.X.J. Oberhumer.Chris Lattner2005-11-021-0/+1
| | | | | | This fixes PR641 llvm-svn: 24154
* fix CBackend/2005-09-27-VolatileFuncPtr.llChris Lattner2005-09-271-4/+4
| | | | llvm-svn: 23475
* 1. Use SubtargetFeatures in llc/lli.Jim Laskey2005-09-011-1/+2
| | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192
* 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-252-4/+6
| | | | | | 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-202-59/+59
| | | | 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
OpenPOWER on IntegriCloud