summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CPSR can be livein; transfer predicate operands correctly; tMUL is two-address.Evan Cheng2009-08-101-19/+57
| | | | llvm-svn: 78559
* Add support for folding loads / stores into 16-bit moves used by Thumb2.Evan Cheng2009-08-101-37/+61
| | | | llvm-svn: 78558
* 80 col violation.Evan Cheng2009-08-101-2/+3
| | | | llvm-svn: 78557
* Use tMOVgpr2gpr instead of t2MOVr.Evan Cheng2009-08-101-4/+7
| | | | llvm-svn: 78556
* Use LLVM's new error handler API to report back end errors using Diagnostic.Daniel Dunbar2009-08-102-0/+16
| | | | | | | | | | | | | | | | | | | | | | For example, -- ddunbar@giles:Frontend$ clang -c backend-errors.c fatal error: error in backend: Global variable 'a' has an invalid section specifier 'I AM, not, legal': mach-o section specifier uses an unknown section type. -- compare to: -- ddunbar@giles:Frontend$ gcc -c backend-errors.c /var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Expected comma after segment-name /var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Rest of line ignored. 1st junk character valued 77 (M). -- Yay! I am not tied to my wording choice, we could also go with "uncoverable error" for the prefix, or just leave it off entirely. llvm-svn: 78554
* Add support for a user supplied pointer argument to llvm_install_error_handler.Daniel Dunbar2009-08-102-10/+20
| | | | llvm-svn: 78553
* Move ConstantExpr handling to ResolveConstantExpr method and alsoBruno Cardoso Lopes2009-08-102-28/+87
| | | | | | add support for PtrToInt, Add, Mul. llvm-svn: 78552
* Revert r78535, it is causing a number of failures to build projects.Daniel Dunbar2009-08-1018-307/+31
| | | | | | | | | | | | | | | | | | | | | | | | --- Reverse-merging r78535 into '.': D test/Sema/altivec-init.c U include/clang/Basic/DiagnosticSemaKinds.td U include/clang/AST/Expr.h U include/clang/AST/StmtNodes.def U include/clang/Parse/Parser.h U include/clang/Parse/Action.h U tools/clang-cc/clang-cc.cpp U lib/Frontend/PrintParserCallbacks.cpp U lib/CodeGen/CGExprScalar.cpp U lib/Sema/SemaInit.cpp U lib/Sema/Sema.h U lib/Sema/SemaExpr.cpp U lib/Sema/SemaTemplateInstantiateExpr.cpp U lib/AST/StmtProfile.cpp U lib/AST/Expr.cpp U lib/AST/StmtPrinter.cpp U lib/Parse/ParseExpr.cpp U lib/Parse/ParseExprCXX.cpp llvm-svn: 78551
* Add support to reduce most of 32-bit Thumb2 arithmetic instructions.Evan Cheng2009-08-104-81/+161
| | | | llvm-svn: 78550
* Always use the 16-bit tMOVgpr2gpr instead of the 32-bit t2MOVr.Evan Cheng2009-08-101-2/+1
| | | | llvm-svn: 78549
* Make the big switch: Change MCSectionMachO to represent a section *semantically*Chris Lattner2009-08-1018-285/+727
| | | | | | | | | | | | | | | | instead of syntactically as a string. This means that it keeps track of the segment, section, flags, etc directly and asmprints them in the right format. This also includes parsing and validation support for llvm-mc and "attribute(section)", so we should now start getting errors about invalid section attributes from the compiler instead of the assembler on darwin. Still todo: 1) Uniquing of darwin mcsections 2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h] 3) there are a few FIXMEs, for example what is the syntax to get the S_GB_ZEROFILL segment type? llvm-svn: 78547
* Temporary define HAVE_SYSCONF until cmake checks are done.Edward O'Callaghan2009-08-101-0/+2
| | | | llvm-svn: 78546
* Fix a FIXME for configure check for HAVE_SYSCONF.Edward O'Callaghan2009-08-102-4/+12
| | | | llvm-svn: 78545
* add a simple back() method to StringRef.Chris Lattner2009-08-101-0/+5
| | | | llvm-svn: 78544
* Use abs64 instead abs; some platforms don't have a 64-bit abs overload. ↵Benjamin Kramer2009-08-091-1/+1
| | | | | | Noticed by Yonggang Luo! llvm-svn: 78543
* warn, as gcc does, if __attribute__((malloc)) applied to function returning ↵Ryan Flynn2009-08-093-0/+15
| | | | | | non-pointer type llvm-svn: 78542
* map previously ignored __attribute((malloc)) to noalias attribute of llvm ↵Ryan Flynn2009-08-098-1/+41
| | | | | | function's return llvm-svn: 78541
* Add support to convert 32-bit instructions to 16-bit non-two-address ones.Evan Cheng2009-08-091-35/+96
| | | | llvm-svn: 78540
* fix build on linuxNuno Lopes2009-08-092-2/+2
| | | | llvm-svn: 78538
* Refactor to remove un-named struct gnu extension usage. Now ISO C89 and C99 ↵Edward O'Callaghan2009-08-0947-546/+603
| | | | | | compliant. Comment trailing endifs llvm-svn: 78537
* Improve handling of member pointers.Anders Carlsson2009-08-094-4/+56
| | | | llvm-svn: 78536
* AltiVec-style vector initializer syntax, vec4 a = (vec4)(a, b, c, d);Nate Begeman2009-08-0918-31/+307
| | | | | | | | In addition to being defined by the AltiVec PIM, this is also the vector initializer syntax used by OpenCL, so that vector literals are compatible with macro arguments. llvm-svn: 78535
* always end a section with \n on elf.Chris Lattner2009-08-091-0/+2
| | | | llvm-svn: 78534
* llvm-mc/AsmParser: Fix thinko in ClassInfo::operator<.Daniel Dunbar2009-08-091-2/+7
| | | | llvm-svn: 78533
* llvm-mc/AsmParser: Add hack to ignore Int_* and *_Int instructions for now, toDaniel Dunbar2009-08-091-0/+11
| | | | | | | | | | make it easier to see interesting ambiguities. - Also, check that user doesn't try to redefine the super class. This is a wart in the current design, in that assembler match classes aren't explicitly declared somewhere (so there isn't a unique place to declare the super class). This should probably be fixed. llvm-svn: 78532
* Disable this test for now, we don't check for super classes when matching yet.Daniel Dunbar2009-08-091-1/+2
| | | | llvm-svn: 78531
* llvm-mc/AsmParser: Implement user defined super classes.Daniel Dunbar2009-08-094-12/+113
| | | | | | - We can now discriminate SUB32ri8 from SUB32ri, for example. llvm-svn: 78530
* Add tests for Neon VZIP and VUZP instructions.Bob Wilson2009-08-092-0/+234
| | | | llvm-svn: 78529
* Add a test for Neon VTRN instructions.Bob Wilson2009-08-091-0/+117
| | | | llvm-svn: 78528
* llvm-mc/AsmParser: Separate instruction ordering for ambiguity detection.Daniel Dunbar2009-08-091-36/+45
| | | | | | | | | | | - We want the ordering operation to be simple, since we run it on every match. The old ordering is also not a strict weak ordering when there are ambiguities, which makes MSVC unhappy. - While we are at it, detect all ambiguities instead of just the adjacent ones. There are actually 655, for X86. llvm-svn: 78526
* Change Neon table lookup (VTBL) and table extension (VTBX) intrinsics toBob Wilson2009-08-091-9/+34
| | | | | | | take the table vectors as separate arguments, instead of the previous approach where they were combined into one big vector. llvm-svn: 78525
* Extend comment on ParserMatchClass .td field, and add some missingDaniel Dunbar2009-08-093-0/+9
| | | | | | classes for X86. llvm-svn: 78524
* llvm-mc/AsmParser: Define match classes in the .td file.Daniel Dunbar2009-08-093-27/+53
| | | | | | -2 FIXMEs. llvm-svn: 78523
* llvm-mc/AsmParser: Sketch infrastructure for ordering instructions & detectingDaniel Dunbar2009-08-091-14/+106
| | | | | | | ambiguities. - Currently there are 483 ambiguities to resolve. :) llvm-svn: 78522
* STLExtras: Add less_ptr.Daniel Dunbar2009-08-091-0/+7
| | | | llvm-svn: 78521
* fix editoChris Lattner2009-08-081-1/+0
| | | | llvm-svn: 78520
* Older GCCs don't have vector::data().Benjamin Kramer2009-08-081-1/+1
| | | | llvm-svn: 78519
* llvm-mc/AsmMatcher: Tweak string matcher (missed a newline).Daniel Dunbar2009-08-081-1/+1
| | | | llvm-svn: 78518
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-0813-110/+161
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* ir-gen for initialization, in synthesize copy constructor, Fariborz Jahanian2009-08-083-13/+71
| | | | | | of base/field which have trivial copy constructor. llvm-svn: 78516
* Add support for global initializers.Anders Carlsson2009-08-087-4/+71
| | | | llvm-svn: 78515
* Use subclassing to print lane-like immediates (w/o hash) eliminatingAnton Korobeynikov2009-08-085-32/+37
| | | | | | 'no_hash' modifier. Hopefully this will make Daniel happy :) llvm-svn: 78514
* llvm-mc/AsmMatcher: Tweak string matcher.Daniel Dunbar2009-08-081-26/+28
| | | | | | | | | | | - Track whether we need to insert an explicit 'break'. - Invert conditional when matching a single prefix to reduce nesting/bracing/breaking. - wc -l of X86GenAsmMatcher.inc decreased by 10%. :) llvm-svn: 78513
* remove nondeterminstic test.Chris Lattner2009-08-081-13/+0
| | | | llvm-svn: 78512
* add a note about dead zero extends.Chris Lattner2009-08-081-0/+49
| | | | llvm-svn: 78511
* 1. Make MCSection an abstract class.Chris Lattner2009-08-0811-157/+136
| | | | | | | | | 2. Move section switch printing to MCSection virtual method which takes a TAI. This eliminates textual formatting stuff from TLOF. 3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and TLOFELF::AtIsCommentChar. llvm-svn: 78510
* switch this to create coff sections for now, it doesn't really matter for Chris Lattner2009-08-082-5/+5
| | | | | | | llvm-mc's purpose yet and we'll want to switch to creating semantic sections at some point. llvm-svn: 78509
* Add crc32 instruction and intrinsics. Add a new class of prefixEric Christopher2009-08-086-0/+131
| | | | | | | | | bytes for F2 0F 38 and propagate. Add a FIXME for a set of possibilities which correspond to intrinsics already used. New test. llvm-svn: 78508
* Refactor some code and implement support for global destructors for static ↵Anders Carlsson2009-08-085-17/+97
| | | | | | variables. llvm-svn: 78507
* Add support for READCYCLECOUNTER in Blackfin back-end.Jakob Stoklund Olesen2009-08-084-5/+46
| | | | llvm-svn: 78506
OpenPOWER on IntegriCloud