summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add pedantic warning -Wempty-translation-unit (C11 6.9p1).Jordan Rose2012-06-0614-26/+108
| | | | | | | | | | | | | | | | | | | In standard C since C89, a 'translation-unit' is syntactically defined to have at least one "external-declaration", which is either a decl or a function definition. In Clang the latter gives us a declaration as well. The tricky bit about this warning is that our predefines can contain external declarations (__builtin_va_list and the 128-bit integer types). Therefore our AST parser now makes sure we have at least one declaration that doesn't come from the predefines buffer. Also, remove bogus warning about empty source files. This doesn't catch source files that only contain comments, and never fired anyway because of our predefines. PR12665 and <rdar://problem/9165548> llvm-svn: 158085
* Fix combine of uno && ord -> false so that the ordering of the fcmps doesn'tChad Rosier2012-06-062-1/+13
| | | | | | | matter. rdar://11579835 llvm-svn: 158084
* [asan] more compaction: don't use the next field while the chunk is in ↵Kostya Serebryany2012-06-061-7/+9
| | | | | | allocated state llvm-svn: 158083
* [asan] more allocator compactionKostya Serebryany2012-06-062-13/+33
| | | | llvm-svn: 158082
* Fix some coding convention problems.Tobias Grosser2012-06-061-19/+19
| | | | llvm-svn: 158081
* Remove dead debug option -disable-rematerialization.Jakob Stoklund Olesen2012-06-061-4/+0
| | | | | | | Remat has been stable for years, and it isn't done by LiveIntervalAnalysis any longer. (See LiveRangeEdit). llvm-svn: 158079
* [Sanitizer] Switch to common mmap/munmap routines in ASan run-time.Alexey Samsonov2012-06-0612-90/+34
| | | | llvm-svn: 158078
* [Sanitizer] Make UNIMPLEMENTED macro common.Alexey Samsonov2012-06-063-28/+16
| | | | llvm-svn: 158077
* [asan] more compaction for allocatorKostya Serebryany2012-06-061-6/+6
| | | | llvm-svn: 158076
* [Sanitizer] Use common CHECK machinery. Currently each tool has to define ↵Alexey Samsonov2012-06-066-52/+45
| | | | | | its own CheckFailed function. llvm-svn: 158075
* [asan] make tid u32 instead of intKostya Serebryany2012-06-0610-37/+33
| | | | llvm-svn: 158074
* Grab-bag of reassociate tweaks. Unify handling of dead instructions andDuncan Sands2012-06-062-127/+117
| | | | | | | | | instructions to reoptimize. Exploit this to more systematically eliminate dead instructions (this isn't very useful in practice but is convenient for analysing some testcase I am working on). No need for WeakVH any more: use an AssertingVH instead. llvm-svn: 158073
* [asan] start compacting the allocator header, the goal is to make it 16 ↵Kostya Serebryany2012-06-064-11/+23
| | | | | | bytes w/o losing any information llvm-svn: 158072
* [tsan,asan] comment out O_CLOEXEC as it causes build failures on old linux ↵Kostya Serebryany2012-06-061-1/+1
| | | | | | kernels llvm-svn: 158071
* [Sanitizer] Remove __attribute__((format))Alexey Samsonov2012-06-063-6/+6
| | | | llvm-svn: 158070
* Stop leaking RegScavengers from TailDuplication.Benjamin Kramer2012-06-061-3/+4
| | | | llvm-svn: 158069
* [ASan] match type of arguments to format string on Mac.Alexey Samsonov2012-06-061-2/+3
| | | | llvm-svn: 158068
* [Sanitizer] fix Win build - ignore __attribute__((format)).Alexey Samsonov2012-06-061-1/+2
| | | | llvm-svn: 158067
* [Sanitizer]: Introduce a common internal printf function. For now, also use ↵Alexey Samsonov2012-06-0629-440/+400
| | | | | | tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms). llvm-svn: 158065
* Detect the cuda library available.Tobias Grosser2012-06-067-44/+202
| | | | | | | | We will use the cuda library for the upcoming automatic GPGPU code generation. Contributed by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 158064
* Zap the /Za compiler switch from MSVC projects, the option is considered ↵Francois Pichet2012-06-065-31/+2
| | | | | | | | harmful even by Microsoft people and clang won't build using the MSVC 2012 RC if not removed. Only 1 minor code change was necessary: can't use cdecl as variable name anymore. llvm-svn: 158063
* [ASan] more format fixesAlexey Samsonov2012-06-061-12/+14
| | | | llvm-svn: 158060
* [ASan] Make printf arguments match format strings better.Alexey Samsonov2012-06-067-22/+26
| | | | llvm-svn: 158059
* [TSan] run some renaming as a preparation for factoring out Printf ↵Alexey Samsonov2012-06-0616-115/+120
| | | | | | implementation. llvm-svn: 158058
* [ASan] fix win build - add missing headerAlexey Samsonov2012-06-061-1/+1
| | | | llvm-svn: 158057
* [Sanitizer] Move more functions/constants to sanitizer_common.Alexey Samsonov2012-06-0618-46/+119
| | | | llvm-svn: 158056
* Correct decoder for T1 conditional B encodingRichard Barton2012-06-062-3/+12
| | | | llvm-svn: 158055
* Introduce -Wunused-private-field. If enabled, this warning detectsDaniel Jasper2012-06-067-2/+350
| | | | | | | unused private fields of classes that are fully defined in the current translation unit. llvm-svn: 158054
* Add a new broken compiler.Duncan Sands2012-06-061-0/+1
| | | | llvm-svn: 158053
* [Sanitizer] move internal_filesize and internal_dup2 from TSan to ↵Alexey Samsonov2012-06-066-15/+34
| | | | | | sanitizer_common. llvm-svn: 158052
* [ASan] Use __sanitizer::Die() in ASan runtime.Alexey Samsonov2012-06-066-29/+37
| | | | llvm-svn: 158051
* [Sanitizer] add sanitizer_common.h for routines shared between TSan and ASan ↵Alexey Samsonov2012-06-064-9/+37
| | | | | | runtimes. Use __sanitizer::Die() in TSan. llvm-svn: 158050
* Mark several instructions SSE2 instead of SSE3 as they should be.Craig Topper2012-06-062-9/+11
| | | | llvm-svn: 158049
* Disable path pruning for UndefResultChecker. It turns out we usually want ↵Ted Kremenek2012-06-061-0/+2
| | | | | | | | to see more of the path to discover how a value was used uninitialized. llvm-svn: 158048
* [ASan] fix GetFreeBytesTest interface test on 32-bit Linux - delete some ↵Alexey Samsonov2012-06-061-6/+0
| | | | | | assumptions about the behavior of allocator in test code llvm-svn: 158047
* Fix gtest build issue on Visual Studio 2012 RCJustin Holewinski2012-06-062-0/+12
| | | | llvm-svn: 158046
* Remove extraneous CHECK-NOTs from previous commit and add a new test case.Chad Rosier2012-06-061-2/+10
| | | | llvm-svn: 158045
* FileCheckize this test.Chad Rosier2012-06-061-2/+18
| | | | llvm-svn: 158044
* Fix a place in ↵Jim Ingham2012-06-062-8/+37
| | | | | | | | | | | GDBRemoteCommunicationClient::SendContinuePacketAndWaitForReply where we weren't taking m_interrupt_sent into account. Also don't reset m_interrupt_sent in SendInterrupt but do so in SendPacketAndWaitForResponse when we know we've handled the interrupt. Fix a code path through ProcessGDBRemote::DoDestroy where we were tearing down the debug session but not setting the exit status. llvm-svn: 158043
* Make sure that when if we are going to Halt while the process is in the ↵Jim Ingham2012-06-062-4/+33
| | | | | | | | | middle of HandlePrivateEvent we wait till that is done. We need a stronger way to do this, but in practice this works and using some locking strategy is harder because Halt & HandlePrivateEvent generally happen on different threads. llvm-svn: 158042
* 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
OpenPOWER on IntegriCloud