summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* build/cmake: Coalesce the configuration time header include fragment generationDaniel Dunbar2011-11-041-36/+1
| | | | | | for target definitions. llvm-svn: 143731
* build/cmake: Use tblgen macro directly instead of llvm_tablegen, which justDaniel Dunbar2011-11-0410-79/+79
| | | | | | added a layer of indirection with no value (not even conciseness). llvm-svn: 143727
* Emit declarations before definitions if they are available. This causes ↵Rafael Espindola2011-11-041-6/+18
| | | | | | | | DW_AT_specification to point back in the file in the included testcase. Fixes PR11300. llvm-svn: 143726
* Teach instsimplify to simplify calls to undef.Dan Gohman2011-11-041-0/+11
| | | | llvm-svn: 143719
* Add missing argument for atomic instructions in c++ backend. PR11268, part 2.Eli Friedman2011-11-041-3/+3
| | | | llvm-svn: 143712
* Simplify code.Benjamin Kramer2011-11-041-4/+3
| | | | llvm-svn: 143695
* Add intrinsics for X86 vcvtps2ph and vcvtph2ps instructionsCraig Topper2011-11-041-24/+29
| | | | llvm-svn: 143683
* Fix some minor scheduling itinerary bug. It's not expected to actually ↵Evan Cheng2011-11-041-14/+20
| | | | | | affect codegen. llvm-svn: 143675
* Indentation.Chad Rosier2011-11-041-1/+1
| | | | llvm-svn: 143670
* Add fast-isel support for returning i1, i8, and i16.Chad Rosier2011-11-041-6/+19
| | | | llvm-svn: 143669
* Speculatively revert "DeadStoreElimination can now trim the size of a store ifDaniel Dunbar2011-11-041-109/+33
| | | | | | the end of it is dead.", which appears to break bootstrapping LLVM. llvm-svn: 143668
* Reapply r143206, with fixes. Disallow physical register lifetimesDan Gohman2011-11-038-532/+666
| | | | | | | across calls, and only check for nested dependences on the special call-sequence-resource register. llvm-svn: 143660
* Reverted r143600 - selector reference changePete Cooper2011-11-031-15/+0
| | | | llvm-svn: 143646
* fixed global array handling for ptx to use the correct bit widthsDan Bailey2011-11-031-12/+17
| | | | llvm-svn: 143640
* build: Add initial cut at LLVMBuild.txt files.Daniel Dunbar2011-11-0380-0/+1978
| | | | llvm-svn: 143634
* DeadStoreElimination can now trim the size of a store if the end of it is dead.Pete Cooper2011-11-031-33/+109
| | | | | | | | | | Only currently done if the later store is writing to a power of 2 address or has the same alignment as the earlier store as then its likely to not break up large stores into smaller ones Fixes <rdar://problem/10140300> llvm-svn: 143630
* Add new X86 AVX2 VBROADCAST instructions.Craig Topper2011-11-031-13/+26
| | | | llvm-svn: 143612
* Add support for sign-extending non-legal types in SelectSIToFP().Chad Rosier2011-11-031-5/+14
| | | | llvm-svn: 143603
* Treat objc selector reference globals as invariant so that MachineLICM can ↵Pete Cooper2011-11-031-0/+15
| | | | | | hoist them out of loops. Fixes <rdar://problem/6027699> llvm-svn: 143600
* Remove some cruft from the BitcodeWriter, while still maintaining backwardChad Rosier2011-11-032-5/+39
| | | | | | compatibility in the BitcodeReader. llvm-svn: 143598
* Fixed parameter name.Lang Hames2011-11-022-3/+3
| | | | llvm-svn: 143594
* Removed unused variable.Chad Rosier2011-11-021-1/+0
| | | | llvm-svn: 143591
* An array of chars of length 8 will also cause the stack protector to be insertedBill Wendling2011-11-021-1/+1
| | | | | | | | into the function. Reflect that here so that the array will be placed next to the SP. <rdar://problem/10128329> llvm-svn: 143590
* Try to lower memset/memcpy/memmove to vector instructions on ARM where the ↵Lang Hames2011-11-022-1/+34
| | | | | | alignment permits. llvm-svn: 143582
* Don't emit a directory entry for the value in DW_AT_comp_dir, that is alwaysNick Lewycky2011-11-022-4/+12
| | | | | | implied by directory index zero. llvm-svn: 143570
* object/COFF: Properly initalize uses of DataRefImpl.Michael J. Spencer2011-11-021-0/+2
| | | | llvm-svn: 143562
* Object/Archive: Add symbol table iteration.Michael J. Spencer2011-11-021-9/+71
| | | | llvm-svn: 143561
* Add support for comparing integer non-legal types.Chad Rosier2011-11-021-16/+33
| | | | llvm-svn: 143559
* Fix the issue that r143552 was trying to address the _right_ way. ↵Owen Anderson2011-11-021-2/+6
| | | | | | One-register lists are legal on LDM/STM instructions, but we should not print the PUSH/POP aliases when they appear. This fixes round tripping on this instruction. llvm-svn: 143557
* Replace tabs I added in this new line of code with spaces.Kevin Enderby2011-11-021-1/+1
| | | | | | Thanks to Nick for spotting this! llvm-svn: 143556
* The rules disallowing single-register reglist operands only apply to the POP ↵Owen Anderson2011-11-021-5/+1
| | | | | | alias, not to LDM/STM instructions. Revert r143552. llvm-svn: 143553
* Register list operands are not allowed to contain only a single register. ↵Owen Anderson2011-11-021-1/+5
| | | | | | Alternate encodings are used in that case. llvm-svn: 143552
* Don't print two 0x prefixes when printing an address.Benjamin Kramer2011-11-021-1/+1
| | | | llvm-svn: 143549
* Factor out an EmitIntExt function. No functionality change intended.Chad Rosier2011-11-021-31/+37
| | | | llvm-svn: 143547
* Rewrite LinearFunctionTestReplace to handle pointer-type IVs.Andrew Trick2011-11-021-73/+116
| | | | | | | | We've been hitting asserts in this code due to the many supported combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This second rewrite of the code attempts to deal with these cases systematically. llvm-svn: 143546
* Begin collecting some of the statistics for block placement discussed onChandler Carruth2011-11-023-0/+92
| | | | | | | | | | | | | the mailing list. Suggestions for other statistics to collect would be awesome. =] Currently these are implemented as a separate pass guarded by a separate flag. I'm not thrilled by that, but I wanted to be able to collect the statistics for the old code placement as well as the new in order to have a point of comparison. I'm planning on folding them into the single pass if / when there is only one pass of interest. llvm-svn: 143537
* More AVX2 instructions and intrinsics.Craig Topper2011-11-021-3/+108
| | | | llvm-svn: 143536
* Add parentheses to disambiguate the precedence of these operations andChandler Carruth2011-11-021-2/+2
| | | | | | silence -Wparentheses. llvm-svn: 143534
* Add a bunch more X86 AVX2 instructions and their corresponding intrinsics.Craig Topper2011-11-022-2/+256
| | | | llvm-svn: 143529
* Add support to the linker to lazily link in functions. This change only ↵Tanya Lattner2011-11-021-0/+58
| | | | | | links functions marked with specific linkage (internal, private, linker_private, linker_private_weak, linker_private_weak_def_auto, linkonce, linkonce_odr, and available_externally) if they have uses in the destination module. Instead of automatically linking, these functions are placed onto a worklist to be processed in the final stage of linking. We iterate over the list and if any functions on the list have uses in the destination module, we link them in and repeat the process until no changes in the state (uses) has changed. This means that any functions in the LazilyLink worklist that have a use in the destination module will be linked in and none that don't. llvm-svn: 143524
* Factor out a SelectTrunc function. No functionality change intended.Chad Rosier2011-11-021-17/+28
| | | | llvm-svn: 143523
* Broaden an assert to handle enable-iv-rewrite=true following r143183.Andrew Trick2011-11-021-1/+1
| | | | | | Narrowest possible fix for PR11279. llvm-svn: 143522
* Fixed a bug in the code to create a dwarf file and directory table entires whenKevin Enderby2011-11-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | it is separating the directory part from the basename of the FileName. Noticed that this: .file 1 "dir/foo" when assembled got the two parts switched. Using the Mac OS X dwarfdump tool it can be seen easily: % dwarfdump -a a.out include_directories[ 1] = 'foo' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 dir ... Which should be: ... include_directories[ 1] = 'dir' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 foo llvm-svn: 143521
* ARM label operands can be quoted.Jim Grosbach2011-11-011-0/+1
| | | | | | For example, labels from Objective-C sources. llvm-svn: 143511
* ARM label operands can have an optional '#' before them.Jim Grosbach2011-11-011-6/+4
| | | | llvm-svn: 143510
* First part of support for generating dwarf for assembly source files with theKevin Enderby2011-11-012-0/+26
| | | | | | | | | | | | -g flag. In this part we generate the .file for the source being assembled and the .loc's for the assembled instructions. The next part will be to generate the dwarf Compile Unit DIE and a dwarf subprogram DIE for each non-temporary label. Once the next part is done test cases will be added. rdar://9275556 llvm-svn: 143509
* Fix disassembly of some VST1 instructions.Owen Anderson2011-11-011-5/+19
| | | | llvm-svn: 143507
* rename getHostTriple into getDefaultTargetTripleSebastian Pop2011-11-016-11/+11
| | | | llvm-svn: 143502
* rename LLVM_HOSTTRIPLE into LLVM_DEFAULT_TARGET_TRIPLESebastian Pop2011-11-012-6/+2
| | | | llvm-svn: 143501
* Teach the x86 backend a couple tricks for dealing with v16i8 sra by a ↵Eli Friedman2011-11-011-0/+18
| | | | | | constant splat value. Fixes PR11289. llvm-svn: 143498
OpenPOWER on IntegriCloud