Chris Lattner
a1378f3d89
factor MBB label lowering better
...
llvm-svn: 81630
2009-09-12 21:06:08 +00:00
Chris Lattner
6ccf7ed4be
X86MCInstLower::Lower should only not emit anything to OutStreamer,
...
this means that it can only lower one MachineInstr to one MCInst. To
make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS
(which generates an implicit label) out of X86MCInstLower.
llvm-svn: 81629
2009-09-12 21:01:20 +00:00
Chris Lattner
5090e6c4a7
eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
...
MBB labels like everything else.
llvm-svn: 81628
2009-09-12 20:45:03 +00:00
Chris Lattner
3172208823
split MachineInstr -> MCInst lowering into its own class (not
...
being embedded into X86ATTAsmPrinter). This still depends heavily
on X86ATTAsmPrinter, but this is a step in the right direction.
llvm-svn: 81627
2009-09-12 20:34:57 +00:00
Chris Lattner
a3f2662a24
remove the "old" at&t style asmprinter. Unfortunately, most of the
...
operand printing crapola cannot be removed yet because it is used by
the inline asm print stuff.
llvm-svn: 81626
2009-09-12 20:01:36 +00:00
Fariborz Jahanian
a954049875
More improvement in building list of visible conversion
...
functions for a class when needed.
llvm-svn: 81624
2009-09-12 19:52:10 +00:00
Anders Carlsson
085af1fd29
Add a test for PR3733.
...
llvm-svn: 81622
2009-09-12 19:35:43 +00:00
Fariborz Jahanian
edca0bcf48
Removed Context argument from couple of methods which don't
...
need them.
llvm-svn: 81621
2009-09-12 19:02:34 +00:00
Mike Stump
6768683933
Add FIXME for alignments that won't be honored.
...
llvm-svn: 81620
2009-09-12 18:58:28 +00:00
Mike Stump
d76611fac0
We can't have ctors in the vtable (right Doug?) :-)
...
llvm-svn: 81619
2009-09-12 18:57:58 +00:00
Fariborz Jahanian
b394f50ac9
More work toward having an access method for visible
...
conversion functions.
llvm-svn: 81618
2009-09-12 18:26:03 +00:00
Edward O'Callaghan
f68f63b7cf
Add Blocks support to CMake build system.
...
llvm-svn: 81617
2009-09-12 17:13:35 +00:00
Edward O'Callaghan
594906f923
Fix include path to config.h for CMake build system.
...
llvm-svn: 81616
2009-09-12 16:44:57 +00:00
Edward O'Callaghan
957fa1379c
GCC atomic built-ins are available patch to Blocks. - Credit to Bobby Powers.
...
llvm-svn: 81615
2009-09-12 16:29:10 +00:00
Anders Carlsson
d95f9608ab
Handle CK_DerivedToBase when emitting lvalue casts.
...
llvm-svn: 81614
2009-09-12 16:16:49 +00:00
Edward O'Callaghan
882b798a50
Generalize Blocks code and intergrate with cmake build system more.
...
llvm-svn: 81613
2009-09-12 15:47:39 +00:00
Benjamin Kramer
c1330af0b9
SmallVectorize preprocessor's token cache. Testing shows there is almost never
...
more than one token in the cache.
llvm-svn: 81612
2009-09-12 09:45:28 +00:00
Anders Carlsson
360e7d0a8f
When necessary, null check the base value in GetAddressCXXOfBaseClass.
...
llvm-svn: 81611
2009-09-12 06:04:24 +00:00
Anders Carlsson
12f5a25f15
Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast kind is CK_DerivedToBase.
...
llvm-svn: 81610
2009-09-12 04:57:16 +00:00
Lang Hames
d0fe246dc2
Whoops. Committed the headers for r81605 - 'Moved some more index operations over to LiveIntervals.'
...
llvm-svn: 81609
2009-09-12 04:54:18 +00:00
Anders Carlsson
7ec8ccde01
Use the correct CastKind for derived-to-base pointer conversions.
...
llvm-svn: 81608
2009-09-12 04:46:44 +00:00
Anders Carlsson
9a57c5ac6f
Whoops, add CGCXXClass.cpp
...
llvm-svn: 81607
2009-09-12 04:27:24 +00:00
Anders Carlsson
864d525533
Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).
...
llvm-svn: 81606
2009-09-12 04:26:35 +00:00
Lang Hames
dad2da59ad
Moved some more index operations over to LiveIntervals.
...
llvm-svn: 81605
2009-09-12 03:34:03 +00:00
Anders Carlsson
307408d2af
Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.
...
llvm-svn: 81604
2009-09-12 03:29:09 +00:00
Sean Callanan
57dba6768e
Added the WAIT instruction to the Intel tables,
...
for the purposes of the disassembler.
llvm-svn: 81603
2009-09-12 02:52:41 +00:00
Anders Carlsson
f8e94f2008
Add support for __block variables with alignment greater than __alignof(void *).
...
llvm-svn: 81602
2009-09-12 02:44:18 +00:00
Sean Callanan
29849eadef
Added CMPS (string comparison) instructions for all
...
operand widths to the Intel instruction tables, for
the purposes of the disassembler.
llvm-svn: 81601
2009-09-12 02:25:20 +00:00
Evan Cheng
760c92a5be
Remove -new-coalescer-heuristic. It's not useful.
...
llvm-svn: 81600
2009-09-12 02:14:41 +00:00
Anders Carlsson
0168f4b202
For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored.
...
llvm-svn: 81599
2009-09-12 02:14:24 +00:00
Evan Cheng
fe4d1e64d5
80 col violations.
...
llvm-svn: 81598
2009-09-12 02:01:07 +00:00
Nick Kledzik
9130011d5f
add comparison functions for ARM
...
llvm-svn: 81597
2009-09-12 01:23:48 +00:00
Chris Lattner
42c1287b68
fix another GCC bootstrap problem, which manifested as things
...
like:
foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb"
llvm-svn: 81596
2009-09-12 01:11:50 +00:00
Daniel Dunbar
020daa9476
Stub out room for ARM APCS ABI implementation (and AAPCS_VFP, although you can't
...
hit this via command line options yet).
llvm-svn: 81595
2009-09-12 01:00:39 +00:00
Daniel Dunbar
d59655c992
Formatting fixes.
...
llvm-svn: 81594
2009-09-12 00:59:49 +00:00
Daniel Dunbar
0ef3479cb7
Change CodeGenModule::ConstructTypeAttributes to return the calling convention
...
to use, and allow the ABI implementation to override the calling convention.
llvm-svn: 81593
2009-09-12 00:59:20 +00:00
Chris Lattner
37a4e48529
fix an embarassing typo that resulted in llvm-gcc bootstrap miscompare
...
because the sorting wasn't sorting.
llvm-svn: 81592
2009-09-12 00:49:00 +00:00
Sean Callanan
4dc00d3781
Added SCAS instructions in their 8, 16, 32, and
...
64-bit variants for the disassembler.
llvm-svn: 81591
2009-09-12 00:37:19 +00:00
Douglas Gregor
15fc956ca0
Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinID
...
llvm-svn: 81590
2009-09-12 00:22:50 +00:00
Douglas Gregor
16618f2157
Remove unnecessary ASTContext parameters from isMain and isExternC
...
llvm-svn: 81589
2009-09-12 00:17:51 +00:00
Douglas Gregor
e2350a3b97
Eliminate FunctionDecl::getBodyIfAvailable
...
llvm-svn: 81588
2009-09-12 00:08:48 +00:00
Anders Carlsson
97c7eda14a
Fix a crash when generating vtables that contain destructors.
...
llvm-svn: 81587
2009-09-12 00:00:29 +00:00
Mike Stump
80f6ac5a4f
Add basic covariant thunk generation support. WIP.
...
llvm-svn: 81585
2009-09-11 23:25:56 +00:00
Douglas Gregor
cc2427c343
When performing name lookup within a class template or class template
...
partial specialization, make sure we look into non-dependent base
classes (but not dependent base classes). Fixes PR4951.
llvm-svn: 81584
2009-09-11 22:57:37 +00:00
Fariborz Jahanian
a31472def0
No need to build the visible conversionfunction list for root class.
...
llvm-svn: 81583
2009-09-11 22:27:50 +00:00
Daniel Dunbar
bbaeca4fef
Set the calling convention based on the CGFunctionInfo.
...
llvm-svn: 81582
2009-09-11 22:25:00 +00:00
Daniel Dunbar
7feafc70d9
Add CallingConvention argument to CGFunctionInfo.
...
- Currently unused.
llvm-svn: 81581
2009-09-11 22:24:53 +00:00
Daniel Dunbar
b918900995
Fix -Asserts warning.
...
llvm-svn: 81580
2009-09-11 22:07:31 +00:00
Ted Kremenek
7020eae076
Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a way
...
to statically type various methods in SValuator/GRState as required either a
defined value or a defined-but-possibly-unknown value. This leads to various
logic cleanups in GRExprEngine, and lets the compiler enforce via type checking
our assumptions about what symbolic values are possibly undefined and what are
not.
Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values.
llvm-svn: 81579
2009-09-11 22:07:28 +00:00
Ted Kremenek
c74e09f654
Update CMake files.
...
llvm-svn: 81577
2009-09-11 21:49:45 +00:00