Anton Korobeynikov
abb51755c8
We're not going to spend 100% of time in interrupts, do we? :)
...
llvm-svn: 70713
2009-05-03 13:02:57 +00:00
Anton Korobeynikov
8a17dff7d0
Add simple reg-reg add.
...
llvm-svn: 70712
2009-05-03 13:02:39 +00:00
Anton Korobeynikov
6ff6fc95a0
gas uses lower letter for register names
...
llvm-svn: 70711
2009-05-03 13:02:22 +00:00
Anton Korobeynikov
d7afd69e3b
Add code enough for emission of reg-reg and reg-imm moves. This allows us to compile "ret i16 0" properly!
...
llvm-svn: 70710
2009-05-03 13:02:04 +00:00
Anton Korobeynikov
c942782b3b
Add function body printing routine
...
llvm-svn: 70709
2009-05-03 13:01:41 +00:00
Anton Korobeynikov
ef811d8e05
Add 'msp430' target triple recognizer
...
llvm-svn: 70708
2009-05-03 13:01:23 +00:00
Anton Korobeynikov
a9b7df98e6
Make emit{Prologue,Epilogue}() noop for now
...
llvm-svn: 70707
2009-05-03 13:01:04 +00:00
Anton Korobeynikov
69f51f0b41
Add callee-saved regs & reg classes getter hooks
...
llvm-svn: 70706
2009-05-03 13:00:46 +00:00
Anton Korobeynikov
efcd5aa381
Add simple FP indicator for given function hook
...
llvm-svn: 70705
2009-05-03 13:00:28 +00:00
Anton Korobeynikov
c10f98ace3
Provide set of reserved registers
...
llvm-svn: 70704
2009-05-03 13:00:11 +00:00
Anton Korobeynikov
7bfc3ea2ee
Add proper ISD::RET lowering
...
llvm-svn: 70703
2009-05-03 12:59:50 +00:00
Anton Korobeynikov
3849be6ca1
Add first draft of MSP430 calling convention stuff and draft of ISD::FORMAL_ARGUMENTS node lowering.
...
llvm-svn: 70702
2009-05-03 12:59:33 +00:00
Anton Korobeynikov
77e5a11ec2
Fix register names, fix register allocation order, handle frame pointer.
...
llvm-svn: 70701
2009-05-03 12:59:16 +00:00
Anton Korobeynikov
64717bbc14
Clearify the usage and add some debug stuff
...
llvm-svn: 70700
2009-05-03 12:58:58 +00:00
Anton Korobeynikov
e10f69a8a7
Cleanup
...
llvm-svn: 70699
2009-05-03 12:58:40 +00:00
Anton Korobeynikov
128e8a188f
Add cmake script. No idea whether it works or not :)
...
llvm-svn: 70698
2009-05-03 12:58:22 +00:00
Anton Korobeynikov
4130a7c1e7
Add a note
...
llvm-svn: 70697
2009-05-03 12:58:05 +00:00
Daniel Dunbar
961202372f
Add a ComputeIvarBaseOffset overload taking an implementation
...
decl. Only this routine will be suitable for computing the offset of a
synthesized ivar.
- No functionality change.
llvm-svn: 70696
2009-05-03 12:57:56 +00:00
Anton Korobeynikov
7c4db99df3
Typo
...
llvm-svn: 70695
2009-05-03 12:57:47 +00:00
Anton Korobeynikov
101380015c
Dummy MSP430 backend
...
llvm-svn: 70694
2009-05-03 12:57:15 +00:00
Daniel Dunbar
7bee415836
Fix a possible memory error, the record layout entry could be
...
invalidated by layout out the super class, we cannot cache the map
entry.
llvm-svn: 70693
2009-05-03 11:41:43 +00:00
Daniel Dunbar
2b65fe3a32
Implement the interface/implementation layout distinction.
...
- These routines should now be independent of the Sema state.
- This is nearly zero functionality change, the distinction only
matters in the non-fragile ABI, and the consumers that care about
this distinction should be using getASTObjCImplementationLayout.
llvm-svn: 70692
2009-05-03 11:16:44 +00:00
Daniel Dunbar
12119b959b
Compute Objective-C metadata size information from the record layout,
...
not the shadow structure.
llvm-svn: 70691
2009-05-03 10:46:44 +00:00
Daniel Dunbar
02f7f5f6d6
Split out getASTObjCImplementationLayout
...
- The difference from getASTObjCInterfaceLayout is that the computes
the layout including synthesized ivars.
- No functionality change, they currently both compute the same thing
-- whether that includes synthesized ivars or not depends on when
they get called!!!
llvm-svn: 70690
2009-05-03 10:38:35 +00:00
Daniel Dunbar
bc5a7a8894
Remove an unneeded special case.
...
llvm-svn: 70689
2009-05-03 10:35:52 +00:00
Daniel Dunbar
d58929be46
PR4063, with feeling: Chain PP callbacks by default.
...
- This is somewhat cleaner and also fixes PR4063 for real, I had the
order wrong so we were just creating an empty dependency file.
llvm-svn: 70687
2009-05-03 10:04:17 +00:00
Daniel Dunbar
f6d272f241
PR4063: Fix dependency generation with -E.
...
llvm-svn: 70686
2009-05-03 09:35:25 +00:00
Chris Lattner
61af27860d
look at the right operand when increasing the size of an asm output,
...
this fixes http://llvm.org/bugs/show_bug.cgi?id=3373#c20
llvm-svn: 70685
2009-05-03 09:05:53 +00:00
Daniel Dunbar
ccf6183687
Remove unused argument.
...
llvm-svn: 70684
2009-05-03 08:56:52 +00:00
Daniel Dunbar
0cec95f86a
Coalesce the ivar offset calculation further.
...
llvm-svn: 70683
2009-05-03 08:55:17 +00:00
Argyrios Kyrtzidis
97324cec99
-Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo
...
-Create DebugLocs without the need to have a DwarfWriter around
llvm-svn: 70682
2009-05-03 08:50:41 +00:00
Chris Lattner
abf843db36
temporary hack to work around PR4128
...
llvm-svn: 70681
2009-05-03 08:42:09 +00:00
Chris Lattner
99837deeaf
don't shadow 'i'
...
llvm-svn: 70680
2009-05-03 08:38:58 +00:00
Chris Lattner
cc1cde9c57
allow references to the larger value in a tied constraint
...
from the asm string, but reject references to the smaller one.
llvm-svn: 70679
2009-05-03 08:32:32 +00:00
Chris Lattner
97de21f754
code cleanup, avoid shadowing i.
...
llvm-svn: 70678
2009-05-03 08:24:16 +00:00
Chris Lattner
59c3a9cd54
add support for tying asm operands where the result is smaller than
...
the input. This is part of PR3373.
llvm-svn: 70677
2009-05-03 08:21:20 +00:00
Daniel Dunbar
c7121faa71
Remove typo
...
llvm-svn: 70676
2009-05-03 08:00:14 +00:00
Chris Lattner
10f221f321
implement support for asm outputs targetting non-simple lvalue destinations
...
like bitfields. incidentally llvm-gcc crashes on this sort of thing also. :)
llvm-svn: 70675
2009-05-03 07:53:25 +00:00
Daniel Dunbar
d09551a376
Use type from ivar instead of from shadow struct field.
...
- No functionality change.
llvm-svn: 70674
2009-05-03 07:52:00 +00:00
Eli Friedman
47e785783c
Don't insert an extra ParenExpr around asm operands.
...
llvm-svn: 70673
2009-05-03 07:49:42 +00:00
Chris Lattner
b65933eaa2
handle codegen of asms where a small input is tied to a large output.
...
llvm-svn: 70672
2009-05-03 07:27:51 +00:00
Chris Lattner
17769a34da
refactor some code to get the input/output constraint info before
...
processing the outputs, no functionality change.
llvm-svn: 70671
2009-05-03 07:05:00 +00:00
Chris Lattner
cb66c73a48
If we have mismatched integer tied operands, but the operand
...
number is not mentioned in the asm string, let it past sema.
Right now these are currently rejected by the llvm code generator
but this will be fixed next.
llvm-svn: 70670
2009-05-03 07:04:21 +00:00
Chris Lattner
7d1644a151
add a flag to output asm constraints so that we efficiently know
...
if there is an input constraint that is tied to it.
llvm-svn: 70669
2009-05-03 06:59:37 +00:00
Chris Lattner
28b05c8249
avoid a crash when we encounter a implicit cast of the paren expr due to
...
promotions. This should be fixed by not modeling asm operands (which
require the ()'s according to the grammar) as not being paren exprs.
llvm-svn: 70668
2009-05-03 06:50:40 +00:00
Ted Kremenek
4b59ccb563
Fix: <rdar://problem/6850275> CF objects returned from methods with "new" or "copy" in their name should be treated as owned
...
For methods that follow the "fundamental rule" and return Core
Foundation objects, treat those objects as owned by the caller.
llvm-svn: 70665
2009-05-03 06:08:32 +00:00
Eli Friedman
c97d014a9a
Fix silly mistake that was breaking tests. Sorry for any inconvenience.
...
llvm-svn: 70664
2009-05-03 06:04:26 +00:00
Chris Lattner
2c295cfee8
rename some variables, improve comments.
...
llvm-svn: 70663
2009-05-03 05:59:17 +00:00
Chris Lattner
34b51e88ec
refactor matched operand type checking to happen after the AsmStmt is created,
...
no functionality change.
llvm-svn: 70662
2009-05-03 05:55:43 +00:00
Dan Gohman
5036695c32
Revert r70645 for now; it's causing a variety of regressions.
...
llvm-svn: 70661
2009-05-03 05:46:20 +00:00