summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move LiveUnionArray into LiveIntervalUnion.hJakob Stoklund Olesen2012-06-054-47/+54
| | | | | | It is useful outside RegAllocBase. llvm-svn: 158041
* A non-explicit constructor template with a second parameter that is aDouglas Gregor2012-06-052-1/+24
| | | | | | parameter pack is a converting constructor. Fixes PR13003. llvm-svn: 158040
* rdar://problem/11598332Johnny Chen2012-06-053-7/+22
| | | | | | | | | | | | | The output of 'register read' should be prettier. Modify RegisterValue::Dump() to take an additional parameter: uint32_t reg_name_right_align_at which defaults to 0 (i.e., no alignment at all). Update the 'register read' command impl to pass 8 as the alignment to RegisterValue::Dump() method. If more sophisticated scheme is desired, we will need to introduce an additional command option to 'register read' later on. llvm-svn: 158039
* Don't print register names in LiveIntervalUnion::print().Jakob Stoklund Olesen2012-06-053-5/+2
| | | | | | | | Soon we'll be making LiveIntervalUnions for register units as well. This was the only place using the RepReg member, so just remove it. llvm-svn: 158038
* Suppress -Wunused-variable in -Asserts buildMatt Beaumont-Gay2012-06-051-0/+1
| | | | llvm-svn: 158037
* Whitespace cleanup.Jim Ingham2012-06-051-2/+1
| | | | llvm-svn: 158032
* Simplify LiveInterval::print().Jakob Stoklund Olesen2012-06-055-49/+20
| | | | | | | | | | Don't print out the register number and spill weight, making the TRI argument unnecessary. This allows callers to interpret the reg field. It can currently be a virtual register, a physical register, a spill slot, or a register unit. llvm-svn: 158031
* Add experimental support for register unit liveness.Jakob Stoklund Olesen2012-06-052-3/+171
| | | | | | | | | | | | | | | | Instead of computing a live interval per physreg, LiveIntervals can compute live intervals per register unit. This makes impossible the confusing situation where aliasing registers could have overlapping live intervals. It should also make fixed interferernce checking cheaper since registers have fewer register units than aliases. Live intervals for regunits are computed on demand, using MRI use-def chains and the new LiveRangeCalc class. Only regunits live in to ABI blocks are precomputed during LiveIntervals::runOnMachineFunction(). The regunit liveness computations don't depend on LiveVariables. llvm-svn: 158029
* PlistDiagnostics: force the ranges for control-flow edges to be single ↵Ted Kremenek2012-06-057-4543/+4556
| | | | | | | | locations, forcing adjacent edges to have compatible ranges. This simplifies the layout logic for some clients. llvm-svn: 158028
* Implement LiveRangeCalc::extendToUses() and createDeadDefs().Jakob Stoklund Olesen2012-06-054-2/+108
| | | | | | | These LiveRangeCalc methods are to be used when computing a live range from scratch. llvm-svn: 158027
* MachineInstr::eraseFromParent fix for removing bundled instrs.Andrew Trick2012-06-051-1/+2
| | | | | | Patch by Ivan Llopard. llvm-svn: 158025
* <rdar://problem/11597333>Greg Clayton2012-06-051-0/+4
| | | | | | | | Fixed an issue where LLDB would use armv7-apple-unknown even though armv7-unknown-unknown was specified with the target create command: (lldb) target create -a armv7-unknown-unknown <executable> llvm-svn: 158023
* objective-c: merge deprecated/unavailable attributes toFariborz Jahanian2012-06-053-14/+16
| | | | | | | the overriding deprecated/unavailable method. // rdar://11475360 llvm-svn: 158022
* misched: API for minimum vs. expected latency.Andrew Trick2012-06-0511-140/+277
| | | | | | | Minimum latency determines per-cycle scheduling groups. Expected latency determines critical path and cost. llvm-svn: 158021
* Add 3.0 and 3.1 tags to the getting started guide.Benjamin Kramer2012-06-051-0/+2
| | | | llvm-svn: 158020
* Fixes the refactoring library test in VS2010.Manuel Klimek2012-06-051-0/+1
| | | | llvm-svn: 158019
* Fix a bug with va_arg and vectors on Darwin x86-32. <rdar://problem/11592208>.Eli Friedman2012-06-052-2/+20
| | | | llvm-svn: 158017
* rdar://problem/11597911Johnny Chen2012-06-055-4/+23
| | | | | | | | Fix confusing error message about "expression did not evaluate to an address" when doing 'watchpoint set expression". Instead of using 0 as the fail_value when invoking ValueObject::GetValueAsUnsigned(), modify the API to take an addition bool pointer (defaults to NULL) to indicate success/failure of value conversion. llvm-svn: 158016
* CLooG: Do not take into account the contextTobias Grosser2012-06-051-1/+16
| | | | | | | | | | | | | | | | | | CLooG and the CLooG based code generation does not yet correctly derive the types of the expressions, but just uses i64 for everything. This is incorrect, but works normally pretty well. However, the recent change of adding parameter bounds to the context made CLooG generate expressions that contain a lot of very large integers that possibly don't fit into an i64. This broke the code generation for several benchmarks. To get the CLooG based code generation working again, we just don't take into account any constraints in the context. This brings us back to the theoretical incorrect, but in practice generally correct code. The next step will be the isl based code generation. Here we will derive automatically correct types. llvm-svn: 158015
* Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-addLang Hames2012-06-054-0/+84
| | | | | | | | | | | | expression (a * b + c) that can be implemented as a fused multiply-add (fma) if the target determines that this will be more efficient. This intrinsic will be used to implement FP_CONTRACT support and an aggressive FMA formation mode. If your target has a fast FMA instruction you should override the isFMAFasterThanMulAndAdd method in TargetLowering to return true. llvm-svn: 158014
* Fix header file include order in NVPTX backend NV_CONTRIBYuan Lin2012-06-051-2/+2
| | | | llvm-svn: 158013
* Reapply "Only emit debug information for methods that are user defined, there's"Eric Christopher2012-06-054-13/+29
| | | | | | | | As the failing testcase has been fixed. This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e. llvm-svn: 158009
* Fix this for buggy gdb behavior alongside the changeEric Christopher2012-06-051-2/+4
| | | | | | | to clang that omits debug information for non-user-defined methods. llvm-svn: 158008
* LoopUnroll: always check for NULL LoopPassManagerAndrew Trick2012-06-051-3/+5
| | | | llvm-svn: 158007
* Remove dead function.Jakob Stoklund Olesen2012-06-051-6/+0
| | | | llvm-svn: 158005
* PPC32 uses R2 as the TLS register. Fix the copy and paste.Roman Divacky2012-06-051-3/+3
| | | | llvm-svn: 158004
* RecursiveASTVisitor: add ability to visit implicit declarations. Patch byRichard Smith2012-06-052-5/+37
| | | | | | James Dennett! llvm-svn: 158002
* [Sanitizer] rename sanitizer_defs.h to sanitizer_internal_defs.hAlexey Samsonov2012-06-0510-10/+10
| | | | llvm-svn: 158001
* [Sanitizer] fix compilation on Mac OS 10.6 - don't use O_CLOEXECAlexey Samsonov2012-06-051-1/+1
| | | | llvm-svn: 158000
* [Sanitizer] remove using namespace __sanitizer linesAlexey Samsonov2012-06-0517-31/+0
| | | | llvm-svn: 157999
* [Sanitizer] Use common defines for ASan and TSan runtime. Split defines ↵Alexey Samsonov2012-06-0513-127/+134
| | | | | | between interface defines (can be visible in user code that includes interface ASan/TSan headers) and internal defines. llvm-svn: 157998
* [asan] change the order of tests in the asan_test binary. Makes the test ↵Kostya Serebryany2012-06-051-2/+2
| | | | | | runs 2x faster due to DEATH_TEST overhead (see asan issue 77) llvm-svn: 157997
* Mips: Define __mips_hard_float macro additional to __mips_single_floatSimon Atanasyan2012-06-052-6/+8
| | | | | | when single float ABI is selected. llvm-svn: 157996
* [TSan] Use internal_munmap from sanitizer_libc in TSan runtime.Alexey Samsonov2012-06-051-6/+1
| | | | llvm-svn: 157995
* [Sanitizer] add sanitizer_posix.cc. Move more various functions into ↵Alexey Samsonov2012-06-0512-29/+73
| | | | | | sanitizer_libc: sscanf, munmap, memchr llvm-svn: 157994
* [ASan] s/size_t/uptr in asan_mac.ccAlexey Samsonov2012-06-051-13/+13
| | | | llvm-svn: 157993
* [TSan] make TSan runtime use internal_{close,read,write} from sanitizer_libcAlexey Samsonov2012-06-054-19/+6
| | | | llvm-svn: 157992
* [ASan] use internal_{close,read,write} in ASan runtime.Alexey Samsonov2012-06-057-58/+9
| | | | llvm-svn: 157991
* [Sanitizer] add internal_{close,read,write} functions to sanitizer_libcAlexey Samsonov2012-06-054-0/+53
| | | | llvm-svn: 157990
* IntegersSubsetMapping: added exclude operation, that allows to exclude ↵Stepan Dyatkovskiy2012-06-052-0/+233
| | | | | | subset of integers from current mapping. llvm-svn: 157989
* [TSan] use __sanitizer::internal_open in TSan run-timeAlexey Samsonov2012-06-056-9/+8
| | | | llvm-svn: 157988
* IntegersSubsetMapping:Stepan Dyatkovskiy2012-06-053-12/+16
| | | | | | | Changed type of Items collection: from std::vector to std::list. Also some small fixes made in IntegersSubset.h, IntegersSubsetMapping.h and IntegersSubsetTest.cpp. llvm-svn: 157987
* [ASan] use internal_open from sanitizer_libc in ASan runtimeAlexey Samsonov2012-06-055-14/+2
| | | | llvm-svn: 157986
* [Sanitizer] Add sanitizer_win.cc for windows-specific implementations of ↵Alexey Samsonov2012-06-054-2/+57
| | | | | | libc functions. Add internal_open. llvm-svn: 157985
* [TSan] use __sanitizer::internal_mmap in TSan run-timeAlexey Samsonov2012-06-051-13/+6
| | | | llvm-svn: 157984
* Revert "Only emit debug information for methods that are user defined, there's"John McCall2012-06-054-29/+13
| | | | | | | This reverts r157970, which was not passing on clang-x86_64-darwin10-nobootstrap-RA llvm-svn: 157983
* [ASan] Fix a typo in Makefile.oldAlexey Samsonov2012-06-051-6/+6
| | | | llvm-svn: 157982
* X86 itinerary properties.Andrew Trick2012-06-052-2/+29
| | | | llvm-svn: 157981
* ARM itinerary properties.Andrew Trick2012-06-053-22/+10
| | | | llvm-svn: 157980
* misched: Added MultiIssueItineraries.Andrew Trick2012-06-0512-31/+141
| | | | | | | | This allows a subtarget to explicitly specify the issue width and other properties without providing pipeline stage details for every instruction. llvm-svn: 157979
OpenPOWER on IntegriCloud