| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | x86_64 ABI: Implement classification for bit-fields. | Daniel Dunbar | 2009-02-17 | 1 | -2/+26 | |
| | | | | | llvm-svn: 64727 | |||||
| * | x86_64 ABI: Handle va_arg arguments with alignment > 8. | Daniel Dunbar | 2009-02-16 | 1 | -4/+15 | |
| | | | | | llvm-svn: 64701 | |||||
| * | x86_64 ABI: Need to use canonical types when comparing against | Daniel Dunbar | 2009-02-14 | 1 | -2/+6 | |
| | | | | | | | ASTContext types. llvm-svn: 64533 | |||||
| * | x86_64 ABI: Pass simple types directly when possible. This is | Daniel Dunbar | 2009-02-14 | 1 | -2/+32 | |
| | | | | | | | | important for both keeping the generated LLVM simple and for ensuring that integer types are passed/promoted correctly. llvm-svn: 64529 | |||||
| * | x86_64 ABI: Support va_arg passed in mixed registers. | Daniel Dunbar | 2009-02-13 | 1 | -1/+22 | |
| | | | | | | | - Now at 1274 passes on gcc compat suite vs 1262. llvm-svn: 64469 | |||||
| * | x86_64: Initial varargs support. | Daniel Dunbar | 2009-02-12 | 1 | -1/+153 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Doesn't yet handle case where values are passed in mixed (general purpose & floating point) registers; otherwise largely functional. Code still needs some cleaning. Fixes: MultiSource/Applications/lua/lua MultiSource/Applications/siod/siod MultiSource/Applications/sqlite3/sqlite3 SingleSource/Regression/C/PR640 SingleSource/UnitTests/2003-07-09-SignedArgs SingleSource/UnitTests/2007-03-02-VaCopy gcc compat test suite results (Darwin x86-32 & -64): -- # of expected passes 1262 # of unexpected failures 56 # of unresolved testcases 34 # of unsupported tests 2 Compare to: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090209/012050.html llvm-svn: 64370 | |||||
| * | Pull CodeGenFunction::EmitVAArg into target specific ABIInfo classes. | Daniel Dunbar | 2009-02-10 | 1 | -3/+55 | |
| | | | | | llvm-svn: 64235 | |||||
| * | Tweak x86-64 ABI to allow reuse for vararg handling. | Daniel Dunbar | 2009-02-10 | 1 | -22/+26 | |
| | | | | | llvm-svn: 64221 | |||||
| * | ABI: Correctly handle load/store of values which have a different LLVM | Daniel Dunbar | 2009-02-10 | 1 | -21/+22 | |
| | | | | | | | | | | memory representation (e.g., bool). - This upgrades (downgrades) MultiSource/Applications/ClamAV/clamscan to a miscompile and fixes SingleSource/UnitTests/2003-05-31-CastToBool. llvm-svn: 64194 | |||||
| * | Make sure to initialize local variables, even if they were ignored by | Daniel Dunbar | 2009-02-10 | 1 | -0/+7 | |
| | | | | | | | ABI. llvm-svn: 64187 | |||||
| * | Set load/store alignment when doing ABI coercions. | Daniel Dunbar | 2009-02-07 | 1 | -4/+14 | |
| | | | | | | | | | | | | | - Currently, this is producing poor code, but we prefer correctness to performance for now. Eventually we should be able to generally avoid having to set the alignment when we control the alignment of the alloca. - This knocks out 33/1000 failures on my single argument ABI tests, down to 22/1000 and 18 of these appear to be gcc bugs. Woot. llvm-svn: 64001 | |||||
| * | Implement Direct ABIInfo semantics. | Daniel Dunbar | 2009-02-05 | 1 | -17/+29 | |
| | | | | | | | | | - No intended functionality change, this is essentially enabling direct passing of complex and aggregate values, which no ABI is using. llvm-svn: 63863 | |||||
| * | Simplify test for whether we need an alloca to hold an indirect return | Daniel Dunbar | 2009-02-05 | 1 | -11/+1 | |
| | | | | | | | | value. - No functionality change. llvm-svn: 63859 | |||||
| * | Implement ABI Indirect sematics for arguments. | Daniel Dunbar | 2009-02-05 | 1 | -6/+32 | |
| | | | | | | | | | - No intended functionality change, all current ABI implementations were only using indirect for complex/aggregate types, which were being passed indirectly with the Direct ABIInfo kind. llvm-svn: 63858 | |||||
| * | Merge ABIInfo StructRet/ByVal into Indirect. | Daniel Dunbar | 2009-02-05 | 1 | -46/+30 | |
| | | | | | | | - No (intended) functionality change, the semantic changes are to come. llvm-svn: 63850 | |||||
| * | Pull CodeGenFunction::GetUndefRValue() out of EmitUnsupportedRValue. | Daniel Dunbar | 2009-02-05 | 1 | -9/+3 | |
| | | | | | llvm-svn: 63845 | |||||
| * | x86-32: Use Ignore to avoid passing empty structs (instead of Expand). | Daniel Dunbar | 2009-02-05 | 1 | -2/+2 | |
| | | | | | llvm-svn: 63813 | |||||
| * | Honor ByVal alignment. Patch by Nate Begeman! | Daniel Dunbar | 2009-02-05 | 1 | -2/+3 | |
| | | | | | llvm-svn: 63811 | |||||
| * | Unbreak CGFunctionInfo::Profile method and reenable caching of ABI | Daniel Dunbar | 2009-02-05 | 1 | -3/+1 | |
| | | | | | | | information. llvm-svn: 63799 | |||||
| * | Add ABIArgInfo::dump() | Daniel Dunbar | 2009-02-04 | 1 | -0/+31 | |
| | | | | | llvm-svn: 63794 | |||||
| * | Temporarily disable caching of ABI results; this is going horribly | Daniel Dunbar | 2009-02-04 | 1 | -1/+3 | |
| | | | | | | | wrong in some cases. llvm-svn: 63780 | |||||
| * | Add asserts that the function signature matches the other arguments provide | Daniel Dunbar | 2009-02-04 | 1 | -0/+4 | |
| | | | | | | | to CGCall functions. llvm-svn: 63775 | |||||
| * | Handle demotion of coerced arguments (as in void a(x) short x; { ... }). | Daniel Dunbar | 2009-02-04 | 1 | -1/+7 | |
| | | | | | llvm-svn: 63726 | |||||
| * | Use ConvertTypeForMem when creating alloca for scalar argument. | Daniel Dunbar | 2009-02-03 | 1 | -1/+1 | |
| | | | | | llvm-svn: 63681 | |||||
| * | x86_64 ABI: Initial implementation of ABI compliant parameter passing. | Daniel Dunbar | 2009-02-03 | 1 | -18/+119 | |
| | | | | | | | | | | | | - Now only 27/500 failures on ABITest single argument tests; from 350/500. :) - As with return types, a large percentage of these are likely to be gcc bugs, not yet reviewed. Also, fix bug in handling of Ignore ABI type in argument lists. llvm-svn: 63654 | |||||
| * | ABI handling: Implement coercion for argument types (in addition to | Daniel Dunbar | 2009-02-03 | 1 | -4/+39 | |
| | | | | | | | return types). llvm-svn: 63645 | |||||
| * | Change ABIInfo to compute information for a full signature at a time | Daniel Dunbar | 2009-02-03 | 1 | -41/+38 | |
| | | | | | | | (the main point of this restructing). llvm-svn: 63619 | |||||
| * | Remove ABIArgInfo::Default kind, ABI is now responsible for specifying | Daniel Dunbar | 2009-02-03 | 1 | -33/+28 | |
| | | | | | | | acceptable kind with more precise semantics. llvm-svn: 63617 | |||||
| * | Add ABIArgInfo::Direct kind, which passes arguments using whatever the | Daniel Dunbar | 2009-02-03 | 1 | -1/+18 | |
| | | | | | | | | native IRgen type is. This is like Default, but without any extra semantics (like automatic tweaking of structures or void). llvm-svn: 63615 | |||||
| * | Add two FIXMEs. | Daniel Dunbar | 2009-02-03 | 1 | -0/+5 | |
| | | | | | llvm-svn: 63613 | |||||
| * | Always use CGFunctionInfo to access ABI information. | Daniel Dunbar | 2009-02-03 | 1 | -14/+16 | |
| | | | | | llvm-svn: 63612 | |||||
| * | Move ABIArgInfo into CGFunctionInfo, computed on creation. | Daniel Dunbar | 2009-02-03 | 1 | -25/+31 | |
| | | | | | | | - Still have to convert some consumers over. llvm-svn: 63610 | |||||
| * | Move ABIInfo/ABIArgInfo classes into ABIInfo.h | Daniel Dunbar | 2009-02-03 | 1 | -103/+3 | |
| | | | | | llvm-svn: 63586 | |||||
| * | Memoize CGFunctionInfo construction. | Daniel Dunbar | 2009-02-03 | 1 | -1/+12 | |
| | | | | | llvm-svn: 63576 | |||||
| * | Change CGFunctionInfo args iterator to not include the return type. | Daniel Dunbar | 2009-02-02 | 1 | -14/+14 | |
| | | | | | llvm-svn: 63571 | |||||
| * | Thread CGFunctionInfo construction through CodeGenTypes. | Daniel Dunbar | 2009-02-02 | 1 | -26/+46 | |
| | | | | | | | - Inefficient & leaks memory currently, will be cleaned up subsequently. llvm-svn: 63567 | |||||
| * | More ABI API cleanup. | Daniel Dunbar | 2009-02-02 | 1 | -13/+12 | |
| | | | | | | | | - Lift CGFunctionInfo creation above ReturnTypeUsesSret and EmitFunction{Epi,Pro}log. llvm-svn: 63553 | |||||
| * | ABI handling API changes. | Daniel Dunbar | 2009-02-02 | 1 | -29/+22 | |
| | | | | | | | | | | | | - Lift CGFunctionInfo creation up to callers of EmitCall. - Move isVariadic bit out of CGFunctionInfo, take as argument to GetFunctionType instead. No functionality change. llvm-svn: 63550 | |||||
| * | Shuffle some functions around, no functionality change. | Daniel Dunbar | 2009-02-02 | 1 | -65/+65 | |
| | | | | | llvm-svn: 63538 | |||||
| * | Add FIXME. | Daniel Dunbar | 2009-02-02 | 1 | -0/+4 | |
| | | | | | llvm-svn: 63531 | |||||
| * | Remove unused overload of GetFunctionType. | Daniel Dunbar | 2009-01-31 | 1 | -8/+2 | |
| | | | | | llvm-svn: 63472 | |||||
| * | Initialize CGFunctionInfo isVariadic bit correctly. | Daniel Dunbar | 2009-01-31 | 1 | -2/+4 | |
| | | | | | llvm-svn: 63471 | |||||
| * | Err, unbreak my previous "no functionality change commit", will fix properly ↵ | Daniel Dunbar | 2009-01-31 | 1 | -1/+1 | |
| | | | | | | | later. llvm-svn: 63467 | |||||
| * | Kill off CGCallInfo, always use CGFunctionInfo for encapsulating | Daniel Dunbar | 2009-01-31 | 1 | -31/+20 | |
| | | | | | | | function/call info. llvm-svn: 63466 | |||||
| * | x86_64 ABI: Retool classification to compute lo & hi classifications | Daniel Dunbar | 2009-01-31 | 1 | -79/+86 | |
| | | | | | | | | | in terms of where the type resides in the containing object. This is a more clear embodiement of the spec & fixes a merging issue with unions. Down to 3/1000 failures. llvm-svn: 63455 | |||||
| * | x86_64 ABI: Fix more thinkos, straddling computation for complex was | Daniel Dunbar | 2009-01-30 | 1 | -6/+6 | |
| | | | | | | | | computing in bytes not bits. We are now down to 22/1000 failures on the return types tests, and 18 of those are gcc bugs I believe. llvm-svn: 63438 | |||||
| * | x86_64 ABI: Fix thinko in prev commit, 64-bit vectors should have SSE | Daniel Dunbar | 2009-01-30 | 1 | -1/+1 | |
| | | | | | | | class, not integer. llvm-svn: 63426 | |||||
| * | x86_64 ABI: Pass <1 x double> in memory. This is arguably wrong, but | Daniel Dunbar | 2009-01-30 | 1 | -4/+7 | |
| | | | | | | | matches gcc 4.2 (not llvm-gcc). llvm-svn: 63413 | |||||
| * | Remove testing -use-x86_64-abi option; current implementation is | Daniel Dunbar | 2009-01-30 | 1 | -7/+1 | |
| | | | | | | | robust enough for general use. llvm-svn: 63406 | |||||
| * | x86_64 ABI: Split small vectors which cross an eightbyte boundary. Down to ↵ | Daniel Dunbar | 2009-01-30 | 1 | -2/+7 | |
| | | | | | | | 33/500 return type failures. llvm-svn: 63404 | |||||

