Daniel Dunbar
a08dff1be1
Implement Obj-C getter synthesis for copy and retain.
...
Also, "simple" getter synthesis no longer uses temporary AST objects.
llvm-svn: 56544
2008-09-24 04:04:31 +00:00
Daniel Dunbar
1c64e5d12f
Refactor some CodeGen functionality:
...
- Add CodeGenFunction::{EmitReturnOfRValue, EmitIvarOffset}
- Factor EmitLValueForIvar out of EmitObjCIvarRefLValue.
No non-error functionality change (some unsupported errors are
degraded to asserts for the time being).
llvm-svn: 56543
2008-09-24 04:00:38 +00:00
Daniel Dunbar
a91c3e097f
Add Obj-C runtime methods to get runtime specific functions for
...
implementing property access.
llvm-svn: 56542
2008-09-24 03:38:44 +00:00
Oscar Fuentes
ace327af3e
CMake: Lists of source files updated. Removed bogus dependency from
...
lib/VMCore/CMakeLists.txt
llvm-svn: 56541
2008-09-24 01:58:12 +00:00
Oscar Fuentes
0d94c21a2b
CMake: Removed unnecessary messages from msvc_llvm_config macro.
...
llvm-svn: 56540
2008-09-24 01:54:03 +00:00
Dale Johannesen
c36660d756
Next round of earlyclobber handling. Approach the
...
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits and their handling from
live internals.
llvm-svn: 56539
2008-09-24 01:07:17 +00:00
Devang Patel
e2aef07b2d
Adjust whitespaces.
...
llvm-svn: 56538
2008-09-24 01:03:00 +00:00
Devang Patel
3e1f51b53f
s/ParamAttrsWithIndex/FnAttributeWithIndex/g
...
Rename to match changes done on llvm side.
llvm-svn: 56537
2008-09-24 01:01:36 +00:00
Devang Patel
6402c7236f
s/ParamAttrsWithIndex/FnAttributeWithIndex/g
...
llvm-svn: 56535
2008-09-24 00:55:02 +00:00
Evan Cheng
423b4f24c8
Test fp not.
...
llvm-svn: 56534
2008-09-24 00:50:16 +00:00
Devang Patel
0009505a25
s/ParamAttributeListImpl/AttributeListImpl/g
...
llvm-svn: 56532
2008-09-24 00:29:49 +00:00
Dan Gohman
6b33aa4d96
Refactor the logic for testing if an instruction is dead into a
...
separate method.
llvm-svn: 56531
2008-09-24 00:27:38 +00:00
Dan Gohman
1e2b282be3
Set SetStore to false, to allow this pass to delete
...
dead loads.
llvm-svn: 56529
2008-09-24 00:07:08 +00:00
Dan Gohman
7c59ed6ff8
Add a method to MachineInstr for testing whether it makes
...
any volatile memory references.
llvm-svn: 56528
2008-09-24 00:06:15 +00:00
Devang Patel
e15607b7bb
Put FN_NOTE_AlwaysInline and others in FnAttr namespace.
...
llvm-svn: 56527
2008-09-24 00:06:15 +00:00
Evan Cheng
e0add20c1b
Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc.
...
llvm-svn: 56526
2008-09-24 00:05:32 +00:00
Devang Patel
e87abd26ba
Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.
...
Do not check isDeclaration() in hasNote(). It is clients' responsibility.
llvm-svn: 56524
2008-09-23 23:52:03 +00:00
Devang Patel
f405b5e532
80 cols
...
llvm-svn: 56521
2008-09-23 23:32:15 +00:00
Devang Patel
a987d3e3fb
s/ParameterAttributes/Attributes/g
...
llvm-svn: 56520
2008-09-23 23:25:44 +00:00
Devang Patel
21d4e4e783
Remove tabs.
...
llvm-svn: 56515
2008-09-23 23:18:26 +00:00
Devang Patel
ba3fa6c6e1
s/ParameterAttributes/Attributes/g
...
llvm-svn: 56513
2008-09-23 23:03:40 +00:00
Devang Patel
82fed6702b
Use parameter attribute store (soon to be renamed) for
...
Function Notes also. Function notes are stored at index ~0.
llvm-svn: 56511
2008-09-23 22:35:17 +00:00
Ted Kremenek
ba79e17139
For generated index.html, look for "scan-view.css", not "/scan-view.css"
...
llvm-svn: 56510
2008-09-23 22:34:51 +00:00
Dan Gohman
676145f02d
Now that DeadMachineInstructionElim is basically working
...
correctly, it's not necessary to explicitly remove registers
from their use-def lists.
llvm-svn: 56509
2008-09-23 22:04:18 +00:00
Dan Gohman
918fe08a56
Arrange for FastISel code to have access to the MachineModuleInfo
...
object. This will be needed to support debug info.
llvm-svn: 56508
2008-09-23 21:53:34 +00:00
Daniel Dunbar
e8a06e619a
Implement type checking of Objective-C property attributes.
...
- readonly and readwrite are mutually exclusive.
- assign, copy, and retain are mutually exclusive.
- copy and retain are invalid on non-object types.
- Warn about using default 'assign' property on object types
(attempting to follow gcc behavior).
llvm-svn: 56507
2008-09-23 21:53:23 +00:00
Dan Gohman
269999cb03
Track local physical register liveness. This is not the most
...
efficient implementation possible, but it's pretty simple and
good enough for the time being.
llvm-svn: 56504
2008-09-23 21:40:44 +00:00
Steve Naroff
de2d5b75c2
Fix <rdar://problem/6240065> clang: __BLOCKS__ should be defined.
...
llvm-svn: 56503
2008-09-23 21:28:24 +00:00
Chris Lattner
4f6646780e
regenerate
...
llvm-svn: 56502
2008-09-23 21:18:31 +00:00
Chris Lattner
7f0a77f11d
allow inreg on the result of a function
...
llvm-svn: 56501
2008-09-23 21:18:08 +00:00
Steve Naroff
92559af851
RewriteBlocks::RewriteBlockPointerDecl(): Handle TypedefDecl's and VarDecl's uniformly.
...
llvm-svn: 56500
2008-09-23 21:15:53 +00:00
Steve Naroff
87930ca38f
Teach block rewriter to replace '^' with '*' in VarDecls.
...
Since we don't have DeclGroup's and location information for types, there is some fancy footwork to do this fairly reliably.
O.K...it's a kludge. One day, we can use this as motivation to do this more gracefully:-)
llvm-svn: 56499
2008-09-23 19:24:41 +00:00
Dan Gohman
c07f686665
Replace the LiveRegs SmallSet with a simple counter that keeps
...
track of the number of live registers, which is all the set was
being used for.
llvm-svn: 56498
2008-09-23 18:50:48 +00:00
Dan Gohman
ed1cf1a8f1
Fix these enums' starting values to reflect the way that
...
instruction opcodes are now numbered. No functionality change.
llvm-svn: 56497
2008-09-23 18:42:32 +00:00
Dan Gohman
4eb9956940
Update the comment to reflect the new name.
...
llvm-svn: 56496
2008-09-23 18:27:53 +00:00
Dan Gohman
e64c9944f6
Delete an unused function.
...
llvm-svn: 56495
2008-09-23 18:26:47 +00:00
Dan Gohman
2430073657
Move the code for initializing the global base reg out of
...
X86ISelDAGToDAG.cpp and into X86InstrInfo.cpp. This will allow
it to be reused by FastISel.
llvm-svn: 56494
2008-09-23 18:22:58 +00:00
Ted Kremenek
81ec48a1d5
Added test case.
...
llvm-svn: 56493
2008-09-23 18:05:01 +00:00
Ted Kremenek
577acbf5c2
Fix PR 2819: Compute dataflow values for all CFG blocks by not relying on having the "Exit" block being reachable by all (or any) of the blocks in the CFG.
...
llvm-svn: 56492
2008-09-23 18:02:10 +00:00
Daniel Dunbar
d0921de8b0
Add x86_64 Linux target.
...
- PR2824
llvm-svn: 56491
2008-09-23 17:37:57 +00:00
Duncan Sands
9c40c28926
Rationalize the names of passes that print information:
...
-callgraph => print-callgraph
-callscc => print-callgraph-sccs
-cfgscc => print-cfg-sccs
-externalfnconstants => print-externalfnconstants
-print => print-function
-print-alias-sets (no change)
-print-callgraph => dot-callgraph
-print-cfg => dot-cfg
-print-cfg-only => dot-cfg-only
-print-dom-info (no change)
-printm => print-module
-printusedtypes => print-used-types
llvm-svn: 56487
2008-09-23 12:47:39 +00:00
Matthijs Kooijman
bdb215d338
Fix indendation.
...
llvm-svn: 56486
2008-09-23 08:54:41 +00:00
Owen Anderson
4cdc18ad80
Add initial support for inserting last minute copies.
...
llvm-svn: 56485
2008-09-23 04:37:10 +00:00
Ted Kremenek
90b91de03b
Updated checker build.
...
llvm-svn: 56484
2008-09-23 00:30:34 +00:00
Evan Cheng
9e9426cb82
Support x86 specific inline asm modifier 'J'.
...
llvm-svn: 56483
2008-09-22 23:57:37 +00:00
Daniel Dunbar
c6fdac260b
Bug fix, result of isIntegerConstantExpr could be of incorrect width
...
for type.
- PR2817
llvm-svn: 56482
2008-09-22 23:53:24 +00:00
Dale Johannesen
a0e1876584
Remove silly semicolon.
...
llvm-svn: 56481
2008-09-22 23:28:18 +00:00
Dan Gohman
e2947e1e07
Fix the alignment of loads from constant pool entries when the
...
load address has an offset from the base of the constant pool
entry.
llvm-svn: 56479
2008-09-22 22:40:08 +00:00
Dale Johannesen
8f8466dc42
Remove a compiler warning.
...
llvm-svn: 56478
2008-09-22 22:33:34 +00:00
Devang Patel
329fe728b5
Add hasNote() to check note associated with a function.
...
llvm-svn: 56477
2008-09-22 22:32:29 +00:00