Chandler Carruth
ffd5551bc7
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to
...
reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
2013-01-02 11:45:17 +00:00
Bill Wendling
207f05369d
Rename llvm::Attributes to llvm::Attribute.
...
llvm-svn: 170722
2012-12-20 19:27:06 +00:00
Bill Wendling
4442605f18
Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here.
...
llvm-svn: 170721
2012-12-20 19:22:21 +00:00
Bill Wendling
7967fc14b9
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.
...
llvm-svn: 170500
2012-12-19 07:18:12 +00:00
Bill Wendling
3087d026da
s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future.
...
llvm-svn: 169652
2012-12-07 23:17:26 +00:00
Chandler Carruth
3a02247dc9
Sort all of Clang's files under 'lib', and fix up the broken headers
...
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
2012-12-04 09:13:33 +00:00
Ulrich Weigand
7bcc7ec745
Handle '*' and '#' asm constraint modifiers.
...
llvm-svn: 166924
2012-10-29 12:20:54 +00:00
Eli Friedman
fc5b2effcf
Add missing safety check to an optimization for do-while loops. PR14191.
...
llvm-svn: 166832
2012-10-26 23:23:35 +00:00
Bill Wendling
507c351a9a
Use the Attributes::get method which takes an AttrVal value directly to simplify the code a bit. No functionality change.
...
llvm-svn: 166010
2012-10-16 05:23:44 +00:00
Bill Wendling
a514ebc1db
Move the Attributes::Builder outside of the Attributes class and into its own class named AttrBuilder. No functionality change.
...
llvm-svn: 165961
2012-10-15 20:36:26 +00:00
Bill Wendling
4f0c080b93
Use enum values instead of magic numbers for indexing into the attribute list.
...
llvm-svn: 165925
2012-10-15 07:31:59 +00:00
Bill Wendling
311c832fda
Attributes Rewrite
...
Convert the uses of the Attributes class over to the new format. The
Attributes::get method call now takes an LLVM context so that the attributes
object can be uniquified and stored.
llvm-svn: 165918
2012-10-15 04:47:45 +00:00
Bill Wendling
a7912f8894
Remove the final bits of Attributes being declared in the Attribute
...
namespace. Use the attribute's enum value instead. No functionality change
intended.
llvm-svn: 165611
2012-10-10 07:36:56 +00:00
Micah Villmow
dd31ca10ef
Move TargetData to DataLayout.
...
llvm-svn: 165395
2012-10-08 16:25:52 +00:00
John McCall
b0433eeb2e
During jump-scope checking, build an ExprWithCleanups immediately
...
into the enclosing scope; this is a more accurate model but is
(I believe) unnecessary in my test case due to other flaws.
However, one of those flaws is now intentional: blocks which
appear in return statements can be trivially observed to not
extend in lifetime past the return, and so we can allow a jump
past them. Do the necessary magic in IR-generation to make
this work.
llvm-svn: 164589
2012-09-25 06:56:03 +00:00
Chad Rosier
7cf5a44836
Update for r163231.
...
llvm-svn: 163232
2012-09-05 19:01:07 +00:00
Chad Rosier
eb31ef0577
[ms-inline asm] Set the inline assembly dialect in CodeGen.
...
llvm-svn: 163178
2012-09-04 23:08:24 +00:00
Chad Rosier
85fff2ac11
[ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This
...
implementation does not co-exist well with how the sideeffect and alignstack
attributes are handled.
llvm-svn: 163173
2012-09-04 22:23:54 +00:00
Chad Rosier
7ea9ce7e64
Minor cleanup to improve code readability. No functional change intended.
...
llvm-svn: 163161
2012-09-04 19:50:17 +00:00
Joao Matos
566359c0bf
Revert r163083 per chandlerc's request.
...
llvm-svn: 163149
2012-09-04 17:49:35 +00:00
Joao Matos
c32a7e4d8e
Implemented parsing and AST support for the MS __leave exception statement. Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
...
llvm-svn: 163083
2012-09-02 03:45:41 +00:00
Chad Rosier
649dfc317d
[ms-inline asm] Have MSAsmStmts use the generic EmitAsmStmt codegen function.
...
llvm-svn: 162796
2012-08-28 21:11:24 +00:00
Chad Rosier
6051bb94c0
[ms-inline asm] Rename EmitGCCAsmStmt to EmitAsmStmt and have it accept
...
AsmStmts. This function is only used by GCCAsmStmts, however. Constraints need
to be properly computed before MSAsmStmts can use EmitAsmStmt. No functional
change intended.
llvm-svn: 162776
2012-08-28 18:54:39 +00:00
Chad Rosier
6100ae120c
[ms-inline asm] Add virtual function, getClobber, that returns a StringRef.
...
More work towards unifying asm stmt codegen.
llvm-svn: 162712
2012-08-27 23:47:56 +00:00
Chad Rosier
d9fb09a91b
[ms-inline asm] Rename getClobber to getClobberStringLiteral. No functional
...
change intended.
llvm-svn: 162710
2012-08-27 23:28:41 +00:00
Chad Rosier
3b0c2607ef
[ms-inline asm] Rename GenerateAsmString to generateAsmString to conform with
...
coding standards. Also, add stub for MSAsmStmt class as part of unifying
codegen logic for AsmStmts.
llvm-svn: 162696
2012-08-27 20:23:31 +00:00
Chad Rosier
de70e0ef45
[ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.
...
No functional change intended.
llvm-svn: 162632
2012-08-25 00:11:56 +00:00
Chad Rosier
175ea24e38
[ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a
...
CodeGen option to a LangOpt option. In turn, hoist the guard into the parser
so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This
should restore the behavior of clang to that prior to r158325.
<rdar://problem/12163681>
llvm-svn: 162602
2012-08-24 21:42:51 +00:00
Chad Rosier
0f8487c632
Fix 80-column violation.
...
llvm-svn: 162575
2012-08-24 18:31:16 +00:00
Chad Rosier
14836bab36
[ms-inline asm] Refactor code. No functional change intended.
...
llvm-svn: 162568
2012-08-24 17:05:45 +00:00
Chad Rosier
59df25b659
[ms-inline asm] Remove an unused argument. This logic can now be reused by the
...
ms-style inline asms.
llvm-svn: 162463
2012-08-23 20:00:18 +00:00
Chad Rosier
d997bd1422
[ms-inline asm] Start sending non-simple inline asms to the AsmParser.
...
The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.
llvm-svn: 162382
2012-08-22 19:18:30 +00:00
Chad Rosier
73e325de55
[ms-inline asm] Add support for clobbers in CodeGen.
...
This is a reapplication of r161914 now that the scoping issue has been resolved
in r161966.
llvm-svn: 161967
2012-08-15 18:12:36 +00:00
Eric Christopher
d9401e2e58
Revert this to try to bring the i386 bots back.
...
llvm-svn: 161931
2012-08-15 06:31:06 +00:00
Chad Rosier
2d5d1327c4
[ms-inline asm] Add support for clobbers in CodeGen.
...
llvm-svn: 161914
2012-08-15 00:43:09 +00:00
Chad Rosier
1426a81a74
[ms-inline asm] Use the new Inline Asm Non-Standard Dialect attribute.
...
llvm-svn: 161642
2012-08-10 00:00:34 +00:00
Chad Rosier
360e1763d5
[ms-inline asm] Add basic codegen support for simple asm stmts. Currently,
...
only machine specific clobbers are modeled.
llvm-svn: 161524
2012-08-08 21:15:52 +00:00
Richard Trieu
c320c745cc
Change APInt to APSInt in one instance. Also change a call to operator==() to
...
APSInt::isSameValue() when comparing different sized APSInt's.
llvm-svn: 160641
2012-07-23 20:21:35 +00:00
Chad Rosier
7a96c77824
Add the mechanics for -fms-inline-asm. No easy way to test at this time.
...
llvm-svn: 160580
2012-07-20 21:44:43 +00:00
Chad Rosier
43b7c021b3
[ms-style asm] Change the fatal error to an extension warning. Apparently, this
...
error was asserting on anything that included Windows.h. MS-style inline asm is
still dropped, but at least now we're not completely silent about it.
llvm-svn: 158833
2012-06-20 18:28:37 +00:00
Chad Rosier
bebf146dd6
Whitespace.
...
llvm-svn: 158830
2012-06-20 17:43:05 +00:00
Chad Rosier
175b507f5e
Make CodeGenFunction::EmitMSAsmStmt throw a fatal error as MS-style inline
...
assembly is completely untested and unsupported.
llvm-svn: 158329
2012-06-11 21:52:25 +00:00
Chad Rosier
32503020a4
Etch out the code path for MS-style inline assembly.
...
llvm-svn: 158325
2012-06-11 20:47:18 +00:00
Chad Rosier
5a032fa6d5
Spacing.
...
llvm-svn: 155931
2012-05-01 19:53:37 +00:00
Richard Smith
c202b2809a
Add an AttributedStmt type to represent a statement with C++11 attributes
...
attached. Since we do not support any attributes which appertain to a statement
(yet), testing of this is necessarily quite minimal.
Patch by Alexander Kornienko!
llvm-svn: 154723
2012-04-14 00:33:13 +00:00
Eric Christopher
0241e32304
For debug and coverage analysis if we're not optimizing go ahead
...
and emit a relatively empty block for a plain break statement. This
enables us to track where we went through a switch.
PR9796 & rdar://11215207
llvm-svn: 154420
2012-04-10 18:20:19 +00:00
Eric Christopher
3910ec96cb
EmitStopPoint already checks if we have debug info.
...
llvm-svn: 154384
2012-04-10 05:04:07 +00:00
Eric Christopher
cdbde6973a
Tidy.
...
llvm-svn: 154383
2012-04-10 05:04:04 +00:00
Chad Rosier
615ed1a3a6
Revert r153613 as it's causing large compile-time regressions on the nightly testers.
...
llvm-svn: 153660
2012-03-29 17:37:10 +00:00
John McCall
1a0877f99d
When we can't prove that the target of an aggregate copy is
...
a complete object, the memcpy needs to use the data size of
the structure instead of its sizeof() value. Fixes PR12204.
llvm-svn: 153613
2012-03-28 23:30:44 +00:00