summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* AVX-512: added UNPACK instructions and tests for all-zero/all-ones vectorsElena Demikhovsky2013-08-253-52/+145
| | | | llvm-svn: 189189
* Fix a bug where we would corrupt the offset when evaluatingChandler Carruth2013-08-251-1/+3
| | | | | | | | | | | a non-constant GEP. I don't have any test case that demonstrates this, Nadav (indirectly) pointed this out in code review. I'm not sure how possible it is to contrive a test case for the current users of this code that triggers the bad issue sadly. llvm-svn: 189188
* AsmPrinter: Get rid of llvm$workaround$fake$stub$David Majnemer2013-08-251-10/+0
| | | | | | | | | We currently emit labels with the prefix Lllvm$workaround$fake$stub$ if the target's MCAsmInfo has getLinkOnceDirective() mapped to something interesting. This was apparently a work around introduced in r31033 for binutils that we don't need anymore. llvm-svn: 189187
* Start to add the LLVM builtins to the mips16 exclusion lists for fp.Reed Kotler2013-08-251-1/+1
| | | | | | | | | | | | | I need to add the rest of these to the list or else to delay putting out the actual stub until later in code generation when I know if the external function ever got emitted Resubmit this patch. The target triple needs to be added to the test so that clang does not tell the backend the wrong target when the host is BSD. There is a clang bug in here somewhere that I need to track down. At Mips this has been filed internally as a bug. llvm-svn: 189186
* Add hasSideEffects/mayLoad/mayStore flags to the X86 ↵Craig Topper2013-08-241-0/+11
| | | | | | moffs8/moffs16/moffs32/moffs64 versions of move. llvm-svn: 189182
* Check if in set on insertion instead of separatelyMatt Arsenault2013-08-241-7/+3
| | | | llvm-svn: 189179
* Remove trailing whitespace.Craig Topper2013-08-242-22/+22
| | | | llvm-svn: 189178
* Revert 189161Shuxin Yang2013-08-241-1/+1
| | | | llvm-svn: 189176
* Remove trailing spaces.Jakub Staszak2013-08-241-45/+44
| | | | llvm-svn: 189173
* Add a function object to compare the first or second component of a std::pair.Benjamin Kramer2013-08-244-55/+12
| | | | | | Replace instances of this scattered around the code base. llvm-svn: 189169
* Simplify code. No functionality change.Benjamin Kramer2013-08-241-6/+1
| | | | llvm-svn: 189168
* DwarfDebug: Delete orphaned children.Benjamin Kramer2013-08-241-1/+4
| | | | | | Leak found by valgrind. llvm-svn: 189167
* Added const qualifier to StringRef::edit_distance member functionDmitri Gribenko2013-08-241-1/+1
| | | | | | Patch by Ismail Pazarbasi. llvm-svn: 189162
* Start to add the builtind to the mips16 exclusion lists for fp.Reed Kotler2013-08-241-1/+1
| | | | | | | | I need to add the rest of these to the list or else to delay putting out the actual stub until later in code generation when I know if the external function ever got emitted. llvm-svn: 189161
* [NVPTX] Re-enable assembly printing support for inline assemblyJustin Holewinski2013-08-242-1/+119
| | | | | | This support was removed by accident during the MC conversion llvm-svn: 189160
* DebugInfoFinder: handle imported entities of a CU.Manman Ren2013-08-241-0/+12
| | | | llvm-svn: 189158
* Rename features to match what gcc and clang use.Rafael Espindola2013-08-231-3/+3
| | | | | | | There is no advantage in being different and using the same names simplifies clang a bit. llvm-svn: 189141
* DataFlowSanitizer: correctly combine labels in the case where they are equal.Peter Collingbourne2013-08-231-1/+1
| | | | llvm-svn: 189133
* DebugInfoFinder: handle template params of a DISubprogram.Manman Ren2013-08-231-0/+13
| | | | llvm-svn: 189131
* PrintVRegOrUnitAndrew Trick2013-08-231-0/+8
| | | | llvm-svn: 189124
* Rename to RegPressure API parameters RegUnits.Andrew Trick2013-08-231-13/+14
| | | | llvm-svn: 189123
* Simplify RegPressure helpers.Andrew Trick2013-08-231-15/+12
| | | | llvm-svn: 189122
* Add a convenient PSetIterator for visiting pressure sets affected by a register.Andrew Trick2013-08-231-68/+21
| | | | llvm-svn: 189121
* Adds cyclic critical path computation and heuristics, temporarily disabled.Andrew Trick2013-08-232-21/+129
| | | | | | | | | | | Estimate the cyclic critical path within a single block loop. If the acyclic critical path is longer, then the loop will exhaust OOO resources after some number of iterations. If lag between the acyclic critical path and cyclic critical path is longer the the time it takes to issue those loop iterations, then aggressively schedule for latency. llvm-svn: 189120
* MI Sched: record local vreg uses.Andrew Trick2013-08-231-3/+5
| | | | | | | | | This will be used to compute the cyclic critical path and to update precomputed per-node pressure differences. In the longer term, it could also be used to speed up LiveInterval update by avoiding visiting all global vreg users. llvm-svn: 189118
* mi-sched: Don't call MBB.size() in initSUnits. The driver already has instr ↵Andrew Trick2013-08-234-16/+30
| | | | | | | | | count. This fixes a pathological compile time problem with very large blocks and lots of scheduling boundaries. llvm-svn: 189116
* Checking commit access; added one spaceJim Cownie2013-08-231-1/+1
| | | | llvm-svn: 189111
* [ARM] Fix another ARM FastISel -verify-machineinstrs issue.Joey Gouly2013-08-231-0/+4
| | | | llvm-svn: 189109
* [msan] Fix handling of va_arg overflow area on x86_64.Evgeniy Stepanov2013-08-231-2/+1
| | | | | | | | The code was erroneously reading overflow area shadow from the TLS slot, bypassing the local copy. Reading shadow directly from TLS is wrong, because it can be overwritten by a nested vararg call, if that happens before va_start. llvm-svn: 189104
* [ARMv8] Add CodeGen for VMAXNM/VMINNM.Joey Gouly2013-08-234-6/+31
| | | | llvm-svn: 189103
* Add function attribute 'optnone'.Andrea Di Biagio2013-08-238-1/+31
| | | | | | | | This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. llvm-svn: 189101
* [SystemZ] Add basic prefetch supportRichard Sandiford2013-08-237-5/+70
| | | | | | Just the instructions and intrinsics for now. llvm-svn: 189100
* [SystemZ] Try reversing comparisons whose first operand is in memoryRichard Sandiford2013-08-231-0/+71
| | | | | | This allows us to make more use of the many compare reg,mem instructions. llvm-svn: 189099
* [SystemZ] Prefer LHI;ST... over LAY;MV...Richard Sandiford2013-08-233-10/+44
| | | | | | | | | | | | | | | | | | | If we had a store of an integer to memory, and the integer and store size were suitable for a form of MV..., we used MV... no matter what. We could then have sequences like: lay %r2, 0(%r3,%r4) mvi 0(%r2), 4 In these cases it seems better to force the constant into a register and use a normal store: lhi %r2, 4 stc %r2, 0(%r3, %r4) since %r2 is more likely to be hoisted and is easier to rematerialize. llvm-svn: 189098
* Turn MipsOptimizeMathLibCalls into a target-independent scalar transformRichard Sandiford2013-08-239-54/+62
| | | | | | | | | | ...so that it can be used for z too. Most of the code is the same. The only real change is to use TargetTransformInfo to test when a sqrt instruction is available. The pass is opt-in because at the moment it only handles sqrt. llvm-svn: 189097
* ARM: make sure ARM-mode pseudo-inst requires IsARMTim Northover2013-08-231-1/+1
| | | | | | | | | | I'd forgotten that "Requires" blocks override rather than add to the constraints, so my pseudo-instruction was being selected in Thumb mode leading to nonsense instructions. rdar://problem/14817358 llvm-svn: 189096
* [mips][msa] Split MSA128 regset into size-specific sets containing the same ↵Daniel Sanders2013-08-234-477/+482
| | | | | | registers. llvm-svn: 189095
* 80 colsAlexey Samsonov2013-08-231-3/+3
| | | | llvm-svn: 189091
* Make DWARFCompileUnit non-copyableAlexey Samsonov2013-08-233-37/+40
| | | | | | | | | | | | | | | | | Summary: This is a part of D1164. DWARFCompileUnit is not that lightweight to copy it around, and we want it to own corresponding .dwo compile unit eventually. Reviewers: echristo Reviewed By: echristo CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1298 llvm-svn: 189089
* Use register masks on SPARC call instructions.Jakob Stoklund Olesen2013-08-232-4/+14
| | | | llvm-svn: 189085
* Add an OtherPreserved field to the CalleeSaved TableGen class.Jakob Stoklund Olesen2013-08-233-2/+13
| | | | | | | | | | This field specifies registers that are preserved across function calls, but that should not be included in the generates SaveList array. This can be used ot generate regmasks for architectures that save registers through other means, like SPARC's register windows. llvm-svn: 189084
* Update StripDeadDebugInfo to use DebugInfoFinder so that it is no longer ↵Michael Gottesman2013-08-231-62/+93
| | | | | | | | | | | | | | | | | | | | | stale to the point of not working and more resilient to debug info changes. The current version of StripDeadDebugInfo became stale and no longer actually worked since it was expecting an older version of debug info. This patch updates it to use DebugInfoFinder and the modern DebugInfo classes as much as possible to make it more redundent to such changes. Additionally, the only place where that was avoided (the code where we replace the old sets with the new), I call verify on the DIContextUnit implying that if the format changes and my live set changes no longer make sense an assert will be hit. In order to ensure that that occurs I have included a test case. The actual stripping of the dead debug info follows the same strategy as was used before in this class: find the live set and replace the old set in the given compile unit (which may contain dead global variables/functions) with the new live one. llvm-svn: 189078
* [stack protector] Work around an issue with the BMOVPCB_CALL instruction on ↵Michael Gottesman2013-08-221-1/+1
| | | | | | | | | | ARM by disabling does not return on __stack_chk_fail. This is to fix the bots while I look to see if there is something I can do here. rdar://14811848 llvm-svn: 189076
* Check only if we have this attribute. If it's not an attribute, then it's ↵Bill Wendling2013-08-221-4/+2
| | | | | | assumed false. llvm-svn: 189063
* R600/SI: Fix another case of illegal VGPR to SGPR copyTom Stellard2013-08-221-1/+1
| | | | | | | | This fixes a crash in Unigine Tropics. https://bugs.freedesktop.org/show_bug.cgi?id=68389 llvm-svn: 189057
* DataFlowSanitizer: Replace non-instrumented aliases of instrumented ↵Peter Collingbourne2013-08-221-1/+12
| | | | | | | | functions, and vice versa, with wrappers. Differential Revision: http://llvm-reviews.chandlerc.com/D1442 llvm-svn: 189054
* DataFlowSanitizer: Factor the wrapper builder out to buildWrapperFunction.Peter Collingbourne2013-08-221-20/+33
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1441 llvm-svn: 189053
* DataFlowSanitizer: Prefix the name of each instrumented function with "dfs$".Peter Collingbourne2013-08-221-7/+51
| | | | | | | | | | | | | | | | DFSan changes the ABI of each function in the module. This makes it possible for a function with the native ABI to be called with the instrumented ABI, or vice versa, thus possibly invoking undefined behavior. A simple way of statically detecting instances of this problem is to prepend the prefix "dfs$" to the name of each instrumented-ABI function. This will not catch every such problem; in particular function pointers passed across the instrumented-native barrier cannot be used on the other side. These problems could potentially be caught dynamically. Differential Revision: http://llvm-reviews.chandlerc.com/D1373 llvm-svn: 189052
* [ARMv8] Add CodeGen support for VSEL.Joey Gouly2013-08-222-9/+105
| | | | | | | | This uses the ARMcmov pattern that Tim cleaned up in r188995. Thanks to Simon Tatham for his floating point help! llvm-svn: 189024
* [Win32] mapped_file_region: Fix a bug in CreateFileMapping() that Size must ↵NAKAMURA Takumi2013-08-221-2/+2
| | | | | | contain Offset when Offset >= 65536. llvm-svn: 189021
OpenPOWER on IntegriCloud