- Feb 28, 2007
-
-
Chris Lattner authored
llvm-svn: 34733
-
Chris Lattner authored
llvm-svn: 34731
-
Chris Lattner authored
llvm-svn: 34730
-
Chris Lattner authored
llvm-svn: 34729
-
Chris Lattner authored
llvm-svn: 34728
-
Chris Lattner authored
llvm-svn: 34727
-
Chris Lattner authored
over to being autogenerated from the X86CallingConv.td file. llvm-svn: 34722
-
- Feb 27, 2007
-
-
Chris Lattner authored
lowering uses. llvm-svn: 34657
-
Chris Lattner authored
llvm-svn: 34656
-
Chris Lattner authored
llvm-svn: 34655
-
Chris Lattner authored
'clients', etc, and adding CCValAssign instead. llvm-svn: 34654
-
- Feb 26, 2007
-
-
Chris Lattner authored
llvm-svn: 34633
-
Chris Lattner authored
mechanics that process it. I'm still not happy with this, but it's a step in the right direction. llvm-svn: 34631
-
Chris Lattner authored
llvm-svn: 34628
-
Chris Lattner authored
Capture this so that downstream zext/sext's are optimized out. This compiles: int test(short X) { return (int)X; } to: _test: movl %edi, %eax ret instead of: _test: movswl %di, %eax ret GCC produces this bizarre code: _test: movw %di, -12(%rsp) movswl -12(%rsp),%eax ret llvm-svn: 34623
-
Chris Lattner authored
void foo(short); void bar(unsigned short A) { foo(A); } into: _bar: subq $8, %rsp movswl %di, %edi call _foo addq $8, %rsp ret instead of: _bar: subq $8, %rsp call _foo addq $8, %rsp ret Testcase here: test/CodeGen/X86/x86-64-shortint.ll llvm-svn: 34615
-
- Feb 25, 2007
-
-
Chris Lattner authored
night: fastcc returns should only go in XMM0 if we have SSE2 or above. llvm-svn: 34613
-
Chris Lattner authored
This implements CodeGen/X86/fp-stack-ret.ll:test[23] llvm-svn: 34592
-
Chris Lattner authored
llvm-svn: 34590
-
Chris Lattner authored
section of the file. llvm-svn: 34589
-
Chris Lattner authored
result value stuff. This eliminates a bunch of duplicated code and now GetRetValueLocs is the sole place that decides where a value is returned. llvm-svn: 34588
-
Chris Lattner authored
llvm-svn: 34587
-
Chris Lattner authored
function. This function now uses GetRetValueLocs to determine *where* the result values are located and concerns itself with *how* to pull the values out. llvm-svn: 34586
-
Chris Lattner authored
llvm-svn: 34585
-
Chris Lattner authored
registers out from the logic of *how* to return them. This changes X86-64 to mark EAX live out when returning a 32-bit value, where before it marked RAX liveout. llvm-svn: 34582
-
Chris Lattner authored
llvm-svn: 34579
-
Chris Lattner authored
llvm-svn: 34578
-
Chris Lattner authored
llvm-svn: 34577
-
Chris Lattner authored
llvm-svn: 34576
-
- Feb 22, 2007
-
-
Jim Laskey authored
llvm-svn: 34488
-
- Feb 21, 2007
-
-
Jim Laskey authored
llvm-svn: 34482
-
Evan Cheng authored
Add implicit uses of EBX to calls to ensure liveintervalanalysis does not treat the GOT in EBX move as dead upon definition. This should fix PR1207. llvm-svn: 34470
-
- Feb 01, 2007
-
-
Anton Korobeynikov authored
affected part is codegen of "memove" inside x86 backend. This fixes PR1144 llvm-svn: 33752
-
- Jan 29, 2007
-
-
Nate Begeman authored
address nodes. llvm-svn: 33636
-
- Jan 28, 2007
-
-
Nick Lewycky authored
What compiler are people using that accepts this code? llvm-svn: 33603
-
Anton Korobeynikov authored
1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. llvm-svn: 33597
-
- Jan 26, 2007
-
-
Jim Laskey authored
llvm-svn: 33537
-
- Jan 22, 2007
-
-
Evan Cheng authored
llvm-svn: 33441
-
- Jan 12, 2007
-
-
Anton Korobeynikov authored
* PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) llvm-svn: 33136
-
- Jan 05, 2007
-
-
Evan Cheng authored
or'ing in the sign bit of operand 1. - Tweaking: rather than left shift the sign bit, fp_extend operand 1 first before taking its sign bit if its type is smaller than that of operand 0. llvm-svn: 32932
-