summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* readobj: Dump PE/COFF optional records.Rui Ueyama2013-06-128-52/+201
| | | | | | | | | | | | These records are mandatory for executables and are used by the loader. Reviewers: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D939 llvm-svn: 183852
* Always remove an alias when we rename the target.Rafael Espindola2013-06-122-4/+13
| | | | | | Should fix the dragonegg build bots. llvm-svn: 183845
* [PowerPC] Expose some calling convention functions in PPCISelLowering.h.Bill Schmidt2013-06-122-29/+32
| | | | | | | | | | | | | | This is a preparatory patch for fast-isel support. The instruction selector will need to access some functions in PPCGenCallingConv.inc, which in turn requires several helper functions to be defined. These are currently defined near the only use of PCCGenCallingConv.inc, inside PPCISelLowering.cpp. This patch moves the declaration of the functions into the associated header file to provide the needed visibility. No functional change intended. llvm-svn: 183844
* Convert test to FileCheck.Rafael Espindola2013-06-121-9/+17
| | | | llvm-svn: 183843
* Don't use PathV1 in CommandLine.cpp.Rafael Espindola2013-06-121-22/+10
| | | | | | No functionality change. llvm-svn: 183842
* Add artificial PRED_BAD to PPC::Predicate enumeration.Bill Schmidt2013-06-121-1/+2
| | | | | | | | Allows returning a PPC::Predicate from a function with a no-predicate value possible. Preparatory patch for fast-isel on PPC64 ELF. No behavioral change intended. llvm-svn: 183841
* Inline Path::isBitcodeFile into only use and remove it.Rafael Espindola2013-06-123-17/+4
| | | | llvm-svn: 183840
* Remove Path::getMagicNumber.Rafael Espindola2013-06-123-47/+0
| | | | llvm-svn: 183839
* Remove Path::hasMagicNumber.Rafael Espindola2013-06-122-16/+0
| | | | llvm-svn: 183838
* Remove Path::isAbsolute.Rafael Espindola2013-06-123-33/+0
| | | | llvm-svn: 183836
* Remove Path::isAbsolute().Rafael Espindola2013-06-123-29/+0
| | | | llvm-svn: 183835
* [MC/DWARF] Support .debug_frame / .debug_line code alignment factorsUlrich Weigand2013-06-127-40/+38
| | | | | | | | | | | | | | | | | | | | | | | | | I've been comparing the object file output of LLVM's integrated assembler against the external assembler on PowerPC, and one area where differences still remain are in DWARF sections. In particular, the GNU assembler generates .debug_frame and .debug_line sections using a code alignment factor of 4, since all PowerPC instructions have size 4 and must be aligned to a multiple of 4. However, current MC code hard-codes a code alignment factor of 1. This patch changes this by adding a "minimum instruction alignment" data element to MCAsmInfo and using this as code alignment factor. This requires passing a MCContext into MCDwarfLineAddr::Encode and MCDwarfLineAddr::EncodeAdvanceLoc. Note that one caller, MCDwarfLineAddr::Write, didn't actually have that information available. However, it turns out that this routine is in fact never used in the whole code base, so the patch simply removes it. If it turns out to be needed again at a later time, it could be re-added with an updated interface. llvm-svn: 183834
* Remove Path::getSuffix.Rafael Espindola2013-06-123-41/+1
| | | | llvm-svn: 183833
* Remove sys::CopyFile.Rafael Espindola2013-06-123-64/+0
| | | | llvm-svn: 183831
* Fix 'gcc -flto' builds for unittest binaries (undefined reference toPatrik Hagglund2013-06-122-3/+0
| | | | | | | | | `typeinfo for llvm::cl::GenericOptionValue'). Remove an "anchor" method for an abstract class. (This does not increase the number of vtables.) llvm-svn: 183830
* [PowerPC] Use assembler source in MC testsUlrich Weigand2013-06-126-155/+152
| | | | | | | | | | | A couple of old test cases in test/MC/PowerPC were still using LLVM IR. Now that we have a working assembler, we can move them to assembler tests instead: ppc64-initial-cfa.ll ppc64-relocs-01.ll ppc64-tls-relocs-01.ll llvm-svn: 183829
* Remove the old file memory mapping functions.Rafael Espindola2013-06-124-53/+1
| | | | llvm-svn: 183828
* Remove Path::createFileOnDisk.Rafael Espindola2013-06-123-33/+0
| | | | llvm-svn: 183827
* Remove Path::makeExecutableOnDisk.Rafael Espindola2013-06-123-17/+0
| | | | llvm-svn: 183826
* Update Release Process docRenato Golin2013-06-121-22/+34
| | | | llvm-svn: 183825
* Fix gcc -flto build, by adding LLVM_ATTRIBUTE_USED toPatrik Hagglund2013-06-121-0/+1
| | | | | | LLVMX86CompilationCallback2, called from inline asm. llvm-svn: 183824
* [yaml2obj] Remove fragile test case.Sean Silva2013-06-122-39/+0
| | | | | | | | | | This test case was a "sanity check"/"breathing" test case at first, but is really fragile, which impairs changes to yaml2obj. `test/Object/yaml2obj-elf-bits-endian.test` is much more robust and serves as an adequate sanity check. llvm-svn: 183811
* 80-colsSean Silva2013-06-121-1/+2
| | | | | | This slipped in during a hasty renaming. llvm-svn: 183810
* Correct the def registers for the 8bit x86 divide instructions toEric Christopher2013-06-111-4/+4
| | | | | | | match the comments and what the instruction actually does. Noticed on inspection. llvm-svn: 183809
* Use the Copy we defined above here.Eric Christopher2013-06-111-2/+2
| | | | llvm-svn: 183808
* Formatting.Eric Christopher2013-06-111-1/+1
| | | | llvm-svn: 183807
* Fix CMakeLists.Akira Hatanaka2013-06-111-0/+1
| | | | llvm-svn: 183804
* [mips] Add an IR transformation pass that optimizes calls to sqrt.Akira Hatanaka2013-06-114-1/+209
| | | | | | | | | The pass emits a call to sqrt that has attribute "read-none". This call will be converted to an ISD::FSQRT node during DAG construction, which will turn into a mips native sqrt instruction. llvm-svn: 183802
* Move PathV2.h to Path.hRafael Espindola2013-06-117-389/+374
| | | | | | | Most clients have already been moved from Path V1 to V2. The ones using V1 now include PathV1.h explicitly. llvm-svn: 183801
* ARM FastISel fix sext/zext foldJF Bastien2013-06-111-19/+36
| | | | | | | | | | | Sign- and zero-extension folding was slightly incorrect because it wasn't checking that the shift on extensions was zero. Further, I recently added AND rd, rn, #255 as a form of 8-bit zero extension, and failed to add the folding code for it. This patch fixes both issues. This patch fixes both, and the test should remain the same: test/CodeGen/ARM/fast-isel-fold.ll llvm-svn: 183794
* Make host ARM CPU feature detection independent of the vendorTobias Grosser2013-06-111-30/+20
| | | | | | | | | | | | For ARM on linux we use /proc/cpuinfo to detect the host CPU's features. Linux derives these values without ever looking at the vendor of the specific CPU implementation. Hence, it adds little value, if we parse the output of /proc/cpuinfo only for certain vendors. This patch enables us to derive the correct feature flags e.g. for Qualcomm CPUs. llvm-svn: 183790
* [PECOFF] Remove COFF header from PE header for simplicity.Rui Ueyama2013-06-112-8/+5
| | | | | | | | | | | | | | | | COFF header is always present both in executable and in object file. PE header is present only in executable. So the natural way to handle PE/COFF file is treating COFF is mandatory header and PE is optional. Current data structre does not allow it, because PE header includes COFF header. Removing COFF header will simplify the code to handle PE/COFF files. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D952 llvm-svn: 183788
* Include PathV1.h in files that use it.Rafael Espindola2013-06-1111-1/+10
| | | | | | This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183782
* Remove Path::getDirname.Rafael Espindola2013-06-114-54/+0
| | | | llvm-svn: 183780
* Remove Path::getBasename.Rafael Espindola2013-06-113-40/+0
| | | | llvm-svn: 183779
* Remove Path::getLast.Rafael Espindola2013-06-113-49/+0
| | | | llvm-svn: 183778
* Remove GetDLLSuffix.Rafael Espindola2013-06-112-12/+0
| | | | llvm-svn: 183777
* Remove GetRootDirectory.Rafael Espindola2013-06-113-24/+0
| | | | llvm-svn: 183775
* Remove GetUserHomeDirectory.Rafael Espindola2013-06-113-32/+0
| | | | llvm-svn: 183773
* Don't define LTDL_SHLIBPATH_VAR.Rafael Espindola2013-06-117-80/+2
| | | | llvm-svn: 183771
* Remove GetSystemLibraryPaths.Rafael Espindola2013-06-114-69/+0
| | | | llvm-svn: 183770
* Don't define LLVM_LIBDIR, it is not used anymore.Rafael Espindola2013-06-118-47/+9
| | | | llvm-svn: 183769
* [mips] Use function TargetInstrInfo::getRegClass.Akira Hatanaka2013-06-112-6/+9
| | | | | | No functionality changes. llvm-svn: 183767
* Remove Path::GetBitcodeLibraryPaths.Rafael Espindola2013-06-113-44/+0
| | | | llvm-svn: 183765
* Remove unused FindLibrary function.Rafael Espindola2013-06-112-22/+0
| | | | llvm-svn: 183764
* Remove sys::identifyFileType.Rafael Espindola2013-06-113-144/+1
| | | | llvm-svn: 183763
* Fix documentation on the path to Bitcode reader/writerMichael Liao2013-06-112-3/+3
| | | | llvm-svn: 183761
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-2/+3
| | | | | | No functionality change. llvm-svn: 183759
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-26/+28
| | | | | | No functionality change. llvm-svn: 183758
* Change how globalopt handles aliases in llvm.used.Rafael Espindola2013-06-112-104/+165
| | | | | | | | | | | | | | | | | | | | | | | | Instead of a custom implementation of replaceAllUsesWith, we just call replaceAllUsesWith and recreate llvm.used and llvm.compiler-used. This change is particularity interesting because it makes llvm see through what clang is doing with static used functions in extern "C" contexts. With this change, running clang -O2 in extern "C" { __attribute__((used)) static void foo() {} } produces @llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to i8*)], section "llvm.metadata" define internal void @foo() #0 { entry: ret void } llvm-svn: 183756
OpenPOWER on IntegriCloud