summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/CBackend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-031-4/+4
| | | | llvm-svn: 47857
* add support for lvsl, fixing PR1481Chris Lattner2008-03-021-0/+9
| | | | llvm-svn: 47825
* add support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.Chris Lattner2008-03-021-1/+39
| | | | llvm-svn: 47824
* refactor intrinsic handling code out into its own method.Chris Lattner2008-03-021-108/+115
| | | | llvm-svn: 47823
* fix printing of undef vectors, this fixes "simple" and "build" in ↵Chris Lattner2008-03-021-1/+6
| | | | | | | | UnitTests/Vector. Now they all pass. llvm-svn: 47820
* insertelement got the wrong operands.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47819
* Several changes:Chris Lattner2008-03-021-82/+109
| | | | | | | | | | * Simplify handling of byval, making it easier to understand and more consistent. This fixes PR2065. * Clean up and simplify handling of GEPs. I can actually understand it now! * Implement support for GEP'ing into vectors, this fixes SingleSource/UnitTests/Vector/build2 among others. llvm-svn: 47818
* Fix a bug I introduced in constant array and constant vector handling.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47816
* implement shufflevector.Chris Lattner2008-03-021-4/+38
| | | | llvm-svn: 47815
* implement extractelement.Chris Lattner2008-03-021-2/+17
| | | | llvm-svn: 47812
* implement insertelement.Chris Lattner2008-03-021-1/+17
| | | | llvm-svn: 47811
* respect isSigned for vector types, fixing sdiv of vectors etc.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47810
* print the attribute in the right place, this fixes function returning vectors.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47809
* vector types are simple types. This fixes div/rem of vectors.Chris Lattner2008-03-021-10/+11
| | | | llvm-svn: 47807
* Print vector types appropriately. This gets basic vector code workingChris Lattner2008-03-021-2/+6
| | | | | | (PR1126) llvm-svn: 47806
* rename PT -> VT for VectorTypes.Chris Lattner2008-03-021-8/+7
| | | | llvm-svn: 47805
* Print i32/i64 integer constants as 1u instead of ((unsigned int)1). Chris Lattner2008-03-021-21/+22
| | | | | | Use dyn_cast better. llvm-svn: 47804
* Avoid collisions in value names.Lauro Ramos Venancio2008-02-281-3/+5
| | | | llvm-svn: 47725
* Split ParameterAttributes.h, putting the complicatedDale Johannesen2008-02-221-1/+1
| | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504
* Temporarily backing out r47337. It breaks a number of CBE tests.Evan Cheng2008-02-201-5/+7
| | | | llvm-svn: 47385
* Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov2008-02-201-1/+1
| | | | llvm-svn: 47369
* fix some byval problems in the cbe. Closes PR2065Andrew Lenharth2008-02-191-7/+5
| | | | llvm-svn: 47337
* I cannot find a libgcc function for this builtin. Therefor expanding it to ↵Andrew Lenharth2008-02-161-0/+4
| | | | | | a noop (which is how it use to be treated). If someone who knows the x86 backend better than me could tell me how to get a lock prefix on an instruction, that would be nice to complete x86 support. llvm-svn: 47213
* CBackend: Implement unaligned load/store.Lauro Ramos Venancio2008-02-011-14/+35
| | | | llvm-svn: 46646
* Indirect call with byval parameter requires a cast first.Evan Cheng2008-01-121-6/+17
| | | | llvm-svn: 45911
* Add support for NetBSD, patch by Krister Walfridsson!Chris Lattner2008-01-121-1/+1
| | | | llvm-svn: 45902
* More cbe byval fixes.Evan Cheng2008-01-111-13/+25
| | | | llvm-svn: 45891
* Some C backend ByVal parameter attribute support. Not yet complete.Evan Cheng2008-01-111-3/+30
| | | | llvm-svn: 45864
* A couple of obvious off-by-one bugs.Evan Cheng2008-01-111-4/+7
| | | | llvm-svn: 45852
* Enabling the target-independent garbage collection infrastructure by hooking itGordon Henriksen2008-01-071-1/+3
| | | | | | | | | up to the various compiler pipelines. This doesn't actually add support for any GC algorithms, which means it temporarily breaks a few tests. To be fixed shortly. llvm-svn: 45669
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix silly typo in the FP CEP handling.Anton Korobeynikov2007-12-211-0/+1
| | | | llvm-svn: 45300
* Rather than having special rules like "intrinsics cannotDuncan Sands2007-12-031-1/+1
| | | | | | | | | throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
* Work around a GCC bug, producing this code:Chris Lattner2007-11-281-0/+6
| | | | | | | | | | | | | | unsigned char *llvm_cbe_X; ... llvm_cbe_X = 0; *((void**)&llvm_cbe_X) = __builtin_stack_save(); instead of: llvm_cbe_X = __builtin_stack_save(); See PR1809 for details. llvm-svn: 44415
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-21/+21
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Switching TargetMachineRegistry to use the new generic Registry.Gordon Henriksen2007-10-171-1/+1
| | | | llvm-svn: 43094
* Handle PPC long double in CBackend.Dale Johannesen2007-10-151-0/+9
| | | | llvm-svn: 42972
* Rewrite sqrt and powi to use anyfloat. By popular demand.Dale Johannesen2007-10-021-4/+2
| | | | llvm-svn: 42537
* Make temporaries explicit to avoid prematureDale Johannesen2007-09-261-1/+3
| | | | | | destruction of compiler-created ones. llvm-svn: 42383
* Fix PR1679, by printing GEP indices as signed values instead of unsigned.Chris Lattner2007-09-221-1/+2
| | | | llvm-svn: 42239
* Implement x86 long double (uses host long double,Dale Johannesen2007-09-171-5/+30
| | | | | | so only works on x86 target). llvm-svn: 42019
* Fix PR1666, SPASS with the CBE and 254.gap with the CBE.Chris Lattner2007-09-151-45/+27
| | | | | | | | GCC optimizes away things like ptr < NULL to false. To "fix" this, have the CBE emit casts of pointers to intptr_t when doing relational pointer comparisons. llvm-svn: 41983
* Remove the assumption that FP's are either float orDale Johannesen2007-09-141-0/+3
| | | | | | | | | | | | | double from some of the many places in the optimizers it appears, and do something reasonable with x86 long double. Make APInt::dump() public, remove newline, use it to dump ConstantSDNode's. Allow APFloats in FoldingSet. Expand X86 backend handling of long doubles (conversions to/from int, mostly). llvm-svn: 41967
* Revise previous patch per review comments.Dale Johannesen2007-09-121-3/+3
| | | | | | | Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-111-2/+5
| | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858
* Apply feedback from previous patch.Dale Johannesen2007-09-071-10/+0
| | | | llvm-svn: 41774
* Next round of APFloat changes.Dale Johannesen2007-09-061-14/+20
| | | | | | | | | | | | | | Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
* Handle packed structs in the CBackend.Lauro Ramos Venancio2007-07-111-1/+4
| | | | llvm-svn: 39752
* Fix PR1413Chris Lattner2007-05-131-0/+5
| | | | llvm-svn: 37023
* revert reid's patch to fix these failures:Chris Lattner2007-05-031-100/+28
| | | | | | | | test/CodeGen/CBackend/2007-01-08-ParamAttr-ICmp.ll for PR1099 [DEJAGNU] Applications/SPASS/SPASS [CBE] Regression/C/2004-03-15-IndirectGoto [CBE] llvm-svn: 36664
OpenPOWER on IntegriCloud