summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* For PR786:Reid Spencer2006-11-021-2/+2
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* For PR950:Reid Spencer2006-11-021-10/+28
| | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369
* Enclose a case in { and } so that the pickier compilers don't complain.Reid Spencer2006-10-261-0/+2
| | | | llvm-svn: 31196
* For PR950:Reid Spencer2006-10-261-7/+161
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* Don't generate a prototype for _setjmp. At least on Linux, this functionReid Spencer2006-10-221-2/+2
| | | | | | | | has a different prototype than the one #included from <setjmp.h>. This patch fixes siod and a number of other test cases on Linux that were failing the CBE because of this _setjmp issue. llvm-svn: 31112
* For PR950:Reid Spencer2006-10-201-11/+11
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Simplify some code, reformat break'sChris Lattner2006-09-281-6/+12
| | | | llvm-svn: 30660
* Added some eye-candy for Subtarget type checkingAnton Korobeynikov2006-09-171-1/+9
| | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. llvm-svn: 30446
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-1/+12
| | | | | | | | | 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. llvm-svn: 30374
* Add cbe support for powiChris Lattner2006-09-091-0/+10
| | | | llvm-svn: 30226
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. llvm-svn: 30081
* Make functions with an "asm" name propagate that asm name into the cbe.c file.Chris Lattner2006-07-281-0/+6
| | | | | | This fixes link errors on programs with these on targets with prefixes. llvm-svn: 29390
* __i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.Evan Cheng2006-06-201-1/+2
| | | | llvm-svn: 28881
* Now that PR633 is implemented, the CBE can know to emit _setjmp/_longjmpChris Lattner2006-06-061-0/+6
| | | | | | | when available. This speeds up hexxagon from 18.61s to 16.61s with the CBE on PPC Mac OS (for reference, LLC is 15.48s and GCC is 23.35s). llvm-svn: 28697
* Add mingw support, patch contributed by AntonChris Lattner2006-06-021-1/+1
| | | | llvm-svn: 28661
* 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
* 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-231-3/+3
| | | | | | 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-081-1/+1
| | | | | | 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
* 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
OpenPOWER on IntegriCloud