summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Structure R600's computeDataLayout more like every other target.Rafael Espindola2013-12-161-8/+5
| | | | | | While there, simplify "p3:32:32:32" to "p3:32:32". llvm-svn: 197407
* Recognize EABIHF as environment and use it for RTAPI + VFP.Joerg Sonnenberger2013-12-166-1/+8
| | | | llvm-svn: 197405
* [AArch64] Fix v1fx patterns for Floating-point Multiply Extend and ↵Chad Rosier2013-12-161-8/+11
| | | | | | Floating-point Compare to Zero. llvm-svn: 197402
* MemoryBuffer: Increase the alignment of small file buffers to 16Reid Kleckner2013-12-161-2/+3
| | | | | | | This was manifesting as an LLVM_ASSUME_ALIGNED() failure in an ELF debug info test when building LLVM with clang in the Microsoft C++ ABI. llvm-svn: 197401
* The preferred alignment defaults to the abi alignment. Omit if it is the same.Rafael Espindola2013-12-1611-19/+19
| | | | llvm-svn: 197400
* Don't duplicate the DataLayout defaults for integer, floats and vectors.Rafael Espindola2013-12-162-9/+2
| | | | llvm-svn: 197398
* On DataLayout, omit the default of p:64:64:64.Rafael Espindola2013-12-168-23/+11
| | | | llvm-svn: 197397
* [CMake] ${LLVM_MAIN_SRC_DIR}/include can be represented as ↵NAKAMURA Takumi2013-12-161-1/+1
| | | | | | ${LLVM_MAIN_INCLUDE_DIR}. llvm-svn: 197396
* [CMake] Introduce LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_INTDIR ↵NAKAMURA Takumi2013-12-163-5/+8
| | | | | | | | | | to reduce references to CMAKE_CFG_INTDIR. Each of them forms like; ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR} ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR} llvm-svn: 197394
* Set has_asmparser in PowerPC/LLVMBuild.txtHal Finkel2013-12-161-0/+1
| | | | | | | PowerPC now has an asm parser (and has for many months now); indicate this in PowerPC/LLVMBuild.txt. llvm-svn: 197393
* [CMake] Introduce LLVM_INCLUDE_DIR.NAKAMURA Takumi2013-12-162-12/+11
| | | | llvm-svn: 197392
* fixed one more lineElena Demikhovsky2013-12-161-1/+1
| | | | llvm-svn: 197387
* Fixed the test - added -mcpu=penryn flag to avoid ambiguity in code generation.Elena Demikhovsky2013-12-161-3/+3
| | | | llvm-svn: 197385
* AVX-512: Added legal type MVT::i1 and VK1 register for it.Elena Demikhovsky2013-12-1613-101/+220
| | | | | | | | | Added scalar compare VCMPSS, VCMPSD. Implemented LowerSELECT for scalar FP operations. I replaced FSETCCss, FSETCCsd with one node type FSETCCs. Node extract_vector_elt(v16i1/v8i1, idx) returns an element of type i1. llvm-svn: 197384
* llvm-config: Fixup r197380, tweak for cross compilation. SYSTEM_LIBS should ↵NAKAMURA Takumi2013-12-162-1/+10
| | | | | | | | | | | | | | | be --host's in BuildTools/llvm-config. FIXME: Host's llvm-config is not generated. It's for target's. Host tools, aka "BuildTools", in utils, do not require llvm-config to build. For example with --host=i686-pc-mingw32 --build=linux, $ BuildTools/Release+Asserts/bin/llvm-config --libs support -lLLVMSupport -lpthread -lshell32 -lpsapi -limagehlp -lm llvm-svn: 197382
* llvm-config: Print SYSTEM_LIBS with --libs, instead of --ldflags.NAKAMURA Takumi2013-12-161-2/+8
| | | | | | | | | | | | LLVM libs are printed in the first line, and system libs are printed in the next line. $ bin/llvm-config --libs object -lLLVMObject -lLLVMSupport -lrt -ldl -ltinfo -lpthread -lz It is workaround for PR3347 and PR8449. llvm-svn: 197380
* Fix Android regression in r197332.Evgeniy Stepanov2013-12-161-0/+1
| | | | llvm-svn: 197366
* [AArch64]Fix the pattern match failure for v1i8/v1i16/v1i32 types.Hao Liu2013-12-163-1/+61
| | | | | | | | | | Currently we have such types as legal vector types. The DAG combiner may generate some DAG nodes having such types but we don't have patterns to match them. E.g. a load i32 and a bitcast i32 to v1i32 will be combined into a load v1i32: bitcast (load i32) to v1i32 -> load v1i32. So this patch fixes such problems for load/dup instructions. If v1i8/v1i16/v1i32 are not legal any more, the code in this patch can be deleted. So I also add some FIXME. llvm-svn: 197361
* remove an uneeded statement (condition is covered by the statementReed Kotler2013-12-151-2/+0
| | | | | | that follows). llvm-svn: 197358
* Fix some indentation.Reed Kotler2013-12-151-10/+10
| | | | llvm-svn: 197357
* Get rid of an superfluous tab in the .s file. This was originallyReed Kotler2013-12-151-1/+1
| | | | | | part of a multi-line pseudo which worked around a linker bug for mips16. llvm-svn: 197356
* Last change for mips16 prolog/epilog cleanup and optimization.Reed Kotler2013-12-1521-238/+154
| | | | | | | | | Some tiny cosmetic code changes to follow. Because of the wide ranging nature of the patch a full 24 test cycle was needed to check against regression. This was the smallest patch I could make to progress from the earlier ones in the series. llvm-svn: 197350
* There is no exp10 on NetBSD.Joerg Sonnenberger2013-12-152-0/+7
| | | | llvm-svn: 197348
* Ensure bitcode encoding of global variable attributes stays stable. Patch by ↵Michael Kuperstein2013-12-152-0/+41
| | | | | | Boaz Ouriel. llvm-svn: 197340
* Fix AsmWriter's handling of SPIR calling conventions. Patch by Boaz Ouriel.Michael Kuperstein2013-12-151-0/+2
| | | | llvm-svn: 197335
* Replace string matching with a switch on Triple::getEnvironment.Joerg Sonnenberger2013-12-151-4/+10
| | | | llvm-svn: 197332
* [Stackmap] Refactor operand parsing.Juergen Ributzka2013-12-142-93/+77
| | | | llvm-svn: 197329
* Don't manually calculate size in bytesMatt Arsenault2013-12-141-2/+3
| | | | llvm-svn: 197327
* [Powerpc darwin] AsmParser Base implementation.Iain Sandoe2013-12-142-40/+157
| | | | | | | | | | | | This is a base implementation of the powerpc-apple-darwin asm parser dialect. * Enables infrastructure (essentially isDarwin()) and fixes up the parsing of asm directives to separate out ELF and MachO/Darwin additions. * Enables parsing of {r,f,v}XX as register identifiers. * Enables parsing of lo16() hi16() and ha16() as modifiers. The changes to the test case are from David Fang (fangism). llvm-svn: 197324
* Remove weak vtables. No functional change.Juergen Ributzka2013-12-144-1/+9
| | | | llvm-svn: 197323
* [Stackmap] Liveness Analysis PassJuergen Ributzka2013-12-1416-52/+614
| | | | | | | | | | | | | | | | | | | | This optional register liveness analysis pass can be enabled with either -enable-stackmap-liveness, -enable-patchpoint-liveness, or both. The pass traverses each basic block in a machine function. For each basic block the instructions are processed in reversed order and if a patchpoint or stackmap instruction is encountered the current live-out register set is encoded as a register mask and attached to the instruction. Later on during stackmap generation the live-out register mask is processed and also emitted as part of the stackmap. This information is optional and intended for optimization purposes only. This will enable a client of the stackmap to reason about the registers it can use and which registers need to be preserved. Reviewed by Andy llvm-svn: 197317
* [Stackmap] Only the AnyReg calling convention should preserve all registers.Juergen Ributzka2013-12-142-5/+8
| | | | llvm-svn: 197316
* Convert register liveness tracking to work on a sub-register level instead ↵Juergen Ributzka2013-12-147-234/+291
| | | | | | | | of just register units. Reviewed by Andy llvm-svn: 197315
* Refactor NVPTX's computeDataLayout.Rafael Espindola2013-12-141-4/+9
| | | | | | No functionality change. llvm-svn: 197312
* Turn NVPTXSubtarget::getDataLayout into a static function.Rafael Espindola2013-12-142-16/+11
| | | | | | No functionality change. llvm-svn: 197311
* Turn AMDGPUSubtarget::getDataLayout into a static function.Rafael Espindola2013-12-143-29/+24
| | | | | | No functionality change. llvm-svn: 197310
* [block-freq] Rename getEntryFrequency() -> getEntryFreq() to match ↵Michael Gottesman2013-12-146-7/+7
| | | | | | getBlockFreq() in all *BlockFrequencyInfo*. llvm-svn: 197304
* [block-freq] Teach branch probability how to return the edge weight in ↵Michael Gottesman2013-12-142-0/+14
| | | | | | | | | | between a BasicBlock and one of its successors. IMHO At some point BasicBlock should be refactored along the lines of MachineBasicBlock so that successors/weights are actually embedded within the block. Now is not that time though. llvm-svn: 197303
* [block-freq] Add a right shift to BlockFrequency that saturates at 1.Michael Gottesman2013-12-143-0/+23
| | | | llvm-svn: 197302
* [block-freq] Remove old BlockFrequency entry frequency and printing code.Michael Gottesman2013-12-142-29/+0
| | | | llvm-svn: 197297
* [block-freq] Refactor LiveInterals::getSpillWeight to use the new ↵Michael Gottesman2013-12-145-9/+14
| | | | | | | | | | | | | | | | | | | | | | | MachineBlockFrequencyInfo methods. This is slightly more interesting than the previous batch of changes. Specifically: 1. We refactor getSpillWeight to take a MachineBlockFrequencyInfo (MBFI) object. This enables us to completely encapsulate the actual manner we use the MachineBlockFrequencyInfo to get our spill weights. This yields cleaner code since one does not need to fetch the actual block frequency before getting the spill weight if all one wants it the spill weight. It also gives us access to entry frequency which we need for our computation. 2. Instead of having getSpillWeight take a MachineBasicBlock (as one might think) to look up the block frequency via the MBFI object, we instead take in a MachineInstr object. The reason for this is that the method is supposed to return the spill weight for an instruction according to the comments around the function. llvm-svn: 197296
* R600/SI: Minor improvements to test.Matt Arsenault2013-12-141-5/+15
| | | | | | Use CHECK-LABEL, add an i64 version, check store instructions. llvm-svn: 197293
* Teach MemoryBuiltins about address spacesMatt Arsenault2013-12-144-7/+91
| | | | llvm-svn: 197292
* [block-freq] Store MBFI as a field on SpillPlacement so we can access it to ↵Michael Gottesman2013-12-142-3/+5
| | | | | | get the entry frequency while processing data. llvm-svn: 197291
* [block-freq] Update MachineBlockPlacement and RegAllocGreedy to use the new ↵Michael Gottesman2013-12-142-9/+13
| | | | | | MachineBlockFrequencyInfo methods. llvm-svn: 197290
* [block-freq] Update BlockFrequencyInfo/MachineBlockFrequencyInfo to use the ↵Michael Gottesman2013-12-142-2/+2
| | | | | | new print methods. llvm-svn: 197289
* Print the address space of a MachineMemOperandMatt Arsenault2013-12-142-0/+6
| | | | llvm-svn: 197288
* [block-freq] Add the equivalent methods to MachineBlockFrequencyInfo and ↵Michael Gottesman2013-12-144-0/+48
| | | | | | BlockFrequencyInfo that were added to BlockFrequencyImpl in r197285 and r197284. llvm-svn: 197287
* [block-freq] Convert BlockFrequencyImpl to use the new printing ↵Michael Gottesman2013-12-141-8/+13
| | | | | | functionality from r197285. llvm-svn: 197286
* [block-freq] Add a print method on BlockFrequencyImpl for printing block ↵Michael Gottesman2013-12-131-0/+24
| | | | | | | | | | | | frequencies and a convenience method for the common case of getting/printing a basic block. BlockFrequencies can only be printed relative to their entry frequency. Thus since the entry frequency is no longer necessarily a static constant on the BlockFrequency class and is instead a potentially dynamic value taken from BlockFrequencyImpl, we must necessarily print it via a method on BlockFrequencyImpl. llvm-svn: 197285
OpenPOWER on IntegriCloud