summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Build fixRichard Mitton2013-08-301-1/+1
| | | | llvm-svn: 189699
* Fixed a bug where diassembling an instruction that had a prefix would cause ↵Richard Mitton2013-08-302-7/+68
| | | | | | LLVM to identify a 1-byte instruction, but then upon querying it for that 1-byte instruction would cause an undefined opcode. llvm-svn: 189698
* Compulsive reformatting.Bill Wendling2013-08-301-2/+5
| | | | llvm-svn: 189697
* [conf] Add config variable to disable crash related overrides.Daniel Dunbar2013-08-306-35/+80
| | | | | | | | | | | | | | | | | | | | | - We do some nasty things w.r.t. installing or overriding signal handlers in order to improve our crash recovery support or interaction with crash reporting software, and those things are not necessarily appropriate when LLVM is being linked into a client application that has its own ideas about how to do things. This gives those clients a way to disable that handling at build time. - Currently, the code this guards is all Apple specific, but other platforms might have the same concerns so I went for a more generic configure name. Someone who is more familiar with library embedding on Windows can handle choosing which of the Windows/Signals.inc behaviors might make sense to go under this flag. - This also fixes the proper autoconf'ing of ENABLE_BACKTRACES. The code expects it to be undefined when disabled, but the autoconf check was just defining it to 0. llvm-svn: 189694
* Fix a problem with dual mips16/mips32 mode. When the underlying processorReed Kotler2013-08-306-5/+68
| | | | | | | | | | | | | has hard float, when you compile the mips32 code you have to make sure that it knows to compile any mips32 routines as hard float. I need to clean up the way mips16 hard float is specified but I need to first think through all the details. Mips16 always has a form of soft float, the difference being whether the underlying hardware has floating point. So it's not really necessary to pass the -soft-float to llvm since soft-float is always true for mips16 by virtue of the fact that it will not register floating point registers. By using this fact, I can simplify the way this is all handled. llvm-svn: 189690
* Use LiveRangeQuery for instruction-level liveness queries.Andrew Trick2013-08-303-22/+9
| | | | | | Remove redundant or bug-prone LiveInterval APIs. llvm-svn: 189685
* [PowerPC] Add handling for conversions to fast-isel.Bill Schmidt2013-08-305-0/+593
| | | | | | | | | Yet another chunk of fast-isel code. This one handles various conversions involving floating-point. (It also includes some miscellaneous handling throughout the back end for LWA_32 and LWAX_32 that should have been part of the load-store patch.) llvm-svn: 189677
* Checking commit access; removed one space added in previous test checkin by JimAndrey Churbanov2013-08-301-1/+1
| | | | llvm-svn: 189673
* InstCombine: Check for zero shift amounts before subtracting one causing ↵Benjamin Kramer2013-08-302-10/+51
| | | | | | | | | integer overflow. PR17026. Also avoid undefined shifts and shift amounts larger than 64 bits (those are always undef because we can't represent integer types that large). llvm-svn: 189672
* X86: Add a description of the Intel Atom Silvermont CPU.Benjamin Kramer2013-08-302-0/+14
| | | | | | Currently this is just the atom model with SSE4.2 enabled. llvm-svn: 189669
* Restore llvm-ranlib expansion in RUN-lines removed in r184019Alexey Samsonov2013-08-301-1/+2
| | | | llvm-svn: 189665
* Fixup BZHI selection to remove an unneeded zero extension.Craig Topper2013-08-302-13/+15
| | | | llvm-svn: 189656
* Remove unused X86andn_flag node.Craig Topper2013-08-301-1/+0
| | | | llvm-svn: 189654
* Teach X86 backend to create BMI2 BZHI instructions from (and X, (add (shl 1, ↵Craig Topper2013-08-304-21/+109
| | | | | | Y), -1)). Fixes PR17038. llvm-svn: 189653
* Revert "ARM: Improve pattern for isel mul of vector by scalar."Michael Gottesman2013-08-302-29/+0
| | | | | | | | This reverts commit r189619. The commit was breaking the arm_neon_intrinsic test. llvm-svn: 189648
* mi-sched: update PressureDiffs on-the-fly for liveness.Andrew Trick2013-08-306-31/+97
| | | | | | | This removes all expensive pressure tracking logic from the scheduling critical path of node comparison. llvm-svn: 189643
* Replace LiveInterval::killedAt with isKilledAtInstr.Andrew Trick2013-08-303-10/+11
| | | | | | Return true for LRGs that end at EarlyClobber or Register slots. llvm-svn: 189642
* mi-sched: improve the generic register pressure comparison.Andrew Trick2013-08-305-34/+29
| | | | | | | Only compare pressure within the same set. When multiple sets are affected, we prioritize the most constrained set. llvm-svn: 189641
* mi-sched: Precompute a PressureDiff for each instruction, adjust for ↵Andrew Trick2013-08-3011-101/+391
| | | | | | | | | | | | | liveness later. Created SUPressureDiffs array to hold the per node PDiff computed during DAG building. Added a getUpwardPressureDelta API that will soon replace the old one. Compute PressureDelta here from the precomputed PressureDiffs. Updating for liveness will come next. llvm-svn: 189640
* [PowerPC] Handle selection of compare instructions in fast-isel.Bill Schmidt2013-08-302-0/+307
| | | | | | | Mostly trivial patch adding support for compares. The meat of the work was added with the branch support. llvm-svn: 189639
* Remove bogus debug statement. Sheesh.Bill Schmidt2013-08-301-4/+2
| | | | llvm-svn: 189638
* [PowerPC] Miscellaneous fast-isel test cases.Bill Schmidt2013-08-304-0/+131
| | | | | | | Here are a few more tests that now pass after the recent fast-isel commits. llvm-svn: 189637
* [PowerPC] Add loads, stores, and related things to fast-isel.Bill Schmidt2013-08-306-7/+1210
| | | | | | | | | | | | | | | | | | | | | | | | | This is the next big chunk of fast-isel code. The primary purpose is to implement selection of loads and stores, but there is a lot of drag-along to support this. The common code to analyze addresses for both loads and stores is substantial. It's also necessary to add the materialization code for global values. Related to load-store processing is the code to fold loads into integer extends, since otherwise we generate lots of redundant instructions. We also need to add some overrides to some FastEmit routines to ensure we don't assign GPR 0 to a virtual register when this would change the meaning of an instruction. I added handling selection of a few binary arithmetic instructions, to enable committing some test cases I wrote a while back. Finally, ap couple of miscellaneous changes: * I cleaned up some poor style from a previous patch in PPCISelLowering.cpp, pointed out by David Blaikie. * I enlarged the Addr.Offset field to avoid sign problems with 32-bit offsets. llvm-svn: 189636
* comment typoAndrew Trick2013-08-301-1/+1
| | | | llvm-svn: 189635
* Random cleanup: No need to use a std::vector here, since ↵Bill Wendling2013-08-301-5/+4
| | | | | | createInternalizePass uses an ArrayRef. llvm-svn: 189632
* Don't bother emitting the pubtypes section on darwin since there aren'tEric Christopher2013-08-302-8/+4
| | | | | | any maintained consumers of it on that platform. llvm-svn: 189631
* Reformat slightly.Eric Christopher2013-08-301-4/+4
| | | | llvm-svn: 189630
* Change default # of digits for APFloat::toStringEli Friedman2013-08-292-9/+13
| | | | | | | | | | | | | | | | | This is a re-commit of r189442; I'll follow up with clang changes. The previous default was almost, but not quite enough digits to represent a floating-point value in a manner which preserves the representation when it's read back in. The larger default is much less confusing. I spent some time looking into printing exactly the right number of digits if a precision isn't specified, but it's kind of complicated, and I'm not really sure I understand what APFloat::toString is supposed to output for FormatPrecision != 0 (or maybe the current API specification is just silly, not sure which). I have a WIP patch if anyone is interested. llvm-svn: 189624
* DIBuilder: retain a type when created with a unique identifier.Manman Ren2013-08-292-4/+27
| | | | | | | | | | | | | | | createClassType, createStructType, createUnionType, createEnumerationType, and createForwardDecl will retain a type when created with a unique identifier, to make sure they are treated as used even when all uses are replaced with the identifiers. Use TrackingVH<MDNode> instead of MDNode in AllRetainTypes, since the created node can later be updated. The change will be tested when clients of DIBuilder start to pass in non-empty unique identifier. llvm-svn: 189621
* ARM: Improve pattern for isel mul of vector by scalar.Jim Grosbach2013-08-292-0/+29
| | | | | | | | | | | In addition to recognizing when the multiply's second argument is coming from an explicit VDUPLANE, also look for a plain scalar f32 reference and reference it via the corresponding vector lane. rdar://14870054 llvm-svn: 189619
* Tidy up. Comment grammar.Jim Grosbach2013-08-291-2/+2
| | | | llvm-svn: 189618
* Tidy up. Trailing whitespace.Jim Grosbach2013-08-291-39/+39
| | | | llvm-svn: 189617
* Substitute LLVM's version into the msbuild property file at config timeReid Kleckner2013-08-294-30/+37
| | | | | | | Requires shuffling the CPack code up before add_subdirectory(tools), but that's where the version settings are anyway. llvm-svn: 189615
* Modified ms-build configuration file to be version locked to the VS2010 ↵Warren Hunt2013-08-291-19/+2
| | | | | | | | toolchain, this avoids conflicts with having VS2012 and Win7SDK used at the same time. llvm-svn: 189613
* Clean up some usage of Triple. The base class has methods for determining ↵Cameron Esfahani2013-08-298-15/+17
| | | | | | if the target is iOS and Linux. llvm-svn: 189604
* Fix the following error when NDEBUG is defined:Kaelyn Uhrain2013-08-291-3/+0
| | | | | | | | | | include/llvm/Support/UnicodeCharRanges.h:56:5: error: use of this statement in a constexpr constructor is a C++1y extension [-Werror,-Wc++1y-extensions] assert(rangesAreValid()); ^ llvm-svn: 189599
* Comment and revise the cyclic critical path code.Andrew Trick2013-08-294-75/+119
| | | | | | This should be much more clear now. It's still disabled pending testing. llvm-svn: 189597
* Add unique identifier field to Composite Types and Format.Manman Ren2013-08-291-5/+6
| | | | llvm-svn: 189593
* isCharInSet refactoring.Alexander Kornienko2013-08-293-67/+71
| | | | | | | | | | | | | | | | | | Summary: Made UnicodeCharSet a class, perform validity checking inside its constructor instead of each isCharInSet call, use std::binary_search instead of own implementation. This patch comes with a necessary change in clang (sent separately). Reviewers: jordan_rose, klimek Reviewed By: klimek CC: cfe-commits, rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D1534 llvm-svn: 189582
* AVX-512: added extend and truncate instructions.Elena Demikhovsky2013-08-295-29/+372
| | | | llvm-svn: 189580
* Move StringToOffsetTable into the TableGen include directory so I can use it ↵Craig Topper2013-08-292-1/+1
| | | | | | in clang. llvm-svn: 189567
* Revert: r189565 - Add getUnrollingPreferences to TTIHal Finkel2013-08-294-45/+5
| | | | | | | | | | | | | | | Revert unintentional commit (of an unreviewed change). Original commit message: Add getUnrollingPreferences to TTI Allow targets to customize the default behavior of the generic loop unrolling transformation. This will be used by the PowerPC backend when targeting the A2 core (which is in-order with a deep pipeline), and using more aggressive defaults is important. llvm-svn: 189566
* Add getUnrollingPreferences to TTIHal Finkel2013-08-294-5/+45
| | | | | | | | | Allow targets to customize the default behavior of the generic loop unrolling transformation. This will be used by the PowerPC backend when targeting the A2 core (which is in-order with a deep pipeline), and using more aggressive defaults is important. llvm-svn: 189565
* Use TargetSubtargetInfo::useAA() in DAGCombineHal Finkel2013-08-291-3/+10
| | | | | | | This uses the TargetSubtargetInfo::useAA() function to control the defaults of the -combiner-alias-analysis and -combiner-global-alias-analysis options. llvm-svn: 189564
* Add useAA() to TargetSubtargetInfoHal Finkel2013-08-293-13/+27
| | | | | | | | | | | | | There are several optional (off-by-default) features in CodeGen that can make use of alias analysis. These features are important for generating code for some kinds of cores (for example the (in-order) PPC A2 core). This adds a useAA() function to TargetSubtargetInfo to allow these features to be enabled by default on a per-subtarget basis. Here is the first use of this function: To control the default of the -enable-aa-sched-mi feature. llvm-svn: 189563
* [lit] [tests] Add missing test input file.Daniel Dunbar2013-08-291-0/+6
| | | | llvm-svn: 189561
* [tests] Use multiple statements instead of 'echo -e', which is not part of ↵Daniel Dunbar2013-08-291-1/+6
| | | | | | BSD echo. llvm-svn: 189560
* [lit] Fix internal shell's argv[0] handling.Daniel Dunbar2013-08-292-3/+5
| | | | | | | - At least on OS X, it is important for correct behavior of /bin/[ that argv[0] is passed as written, and not as the full executable path. llvm-svn: 189559
* [lit] Add support for multiprocessing, under --use-processes for now.Daniel Dunbar2013-08-293-39/+115
| | | | llvm-svn: 189556
* [lit] Implement --max-time support by using provider cancel method.Daniel Dunbar2013-08-291-10/+16
| | | | llvm-svn: 189555
OpenPOWER on IntegriCloud