summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove a use of PathV1.h.Rafael Espindola2013-06-141-15/+9
| | | | llvm-svn: 183982
* Move PrependMainExecutablePath next to its only user.Rafael Espindola2013-06-143-33/+22
| | | | llvm-svn: 183980
* Remove a use of sys::Path.Rafael Espindola2013-06-141-2/+3
| | | | llvm-svn: 183979
* ARM: fix thumb coprocessor instruction with pre-writeback disassemblyAmaury de la Vieuville2013-06-142-1/+4
| | | | | | | was stc2 p0, c0, [r0]! instead of stc2 p0, c0, [r0,#0]! llvm-svn: 183975
* X86: cvtpi2ps is just an SSE instruction with MMX operands. It has no AVX ↵Benjamin Kramer2013-06-142-7/+16
| | | | | | | | equivalent. Give it the right register format so we can also emit it when AVX is enabled. llvm-svn: 183971
* Remove unused header.Rafael Espindola2013-06-141-1/+0
| | | | llvm-svn: 183968
* Enable FastISel on ARM for Linux and NaCl, not MCJITJF Bastien2013-06-1427-15/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a resubmit of r182877, which was reverted because it broken MCJIT tests on ARM. The patch leaves MCJIT on ARM as it was before: only enabled for iOS. I've CC'ed people from the original review and revert. FastISel was only enabled for iOS ARM and Thumb2, this patch enables it for ARM (not Thumb2) on Linux and NaCl, but not MCJIT. Thumb2 support needs a bit more work, mainly around register class restrictions. The patch punts to SelectionDAG when doing TLS relocation on non-Darwin targets. I will fix this and other FastISel-to-SelectionDAG failures in a separate patch. The patch also forces FastISel to retain frame pointers: iOS always keeps them for backtracking (so emitted code won't change because of this), but Linux was getting much worse code that was incorrect when using big frames (such as test-suite's lencod). I'll also fix this in a later patch, it will probably require a peephole so that FastISel doesn't rematerialize frame pointers back-to-back. The test changes are straightforward, similar to: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130513/174279.html They also add a vararg test that got dropped in that change. I ran all of lnt test-suite on A15 hardware with --optimize-option=-O0 and all the tests pass. All the tests also pass on x86 make check-all. I also re-ran the check-all tests that failed on ARM, and they all seem to pass. llvm-svn: 183966
* [yaml2obj] Add support for sh_addralign via `AddressAlign` key.Sean Silva2013-06-144-3/+7
| | | | | | | For consistency, change the address in the test case from 0xDEADBEEF to 0xCAFEBABE since 0xCAFEBABE that actually has a 2-byte alignment. llvm-svn: 183962
* Move #include from .h to .cpp file.Jakub Staszak2013-06-142-1/+1
| | | | llvm-svn: 183960
* Remove forward declaration of MachineBasicBlock. It is #included anyway.Jakub Staszak2013-06-131-1/+0
| | | | llvm-svn: 183958
* #include <climits> instead of <limits.h> in C++ header file.Jakub Staszak2013-06-131-1/+1
| | | | llvm-svn: 183957
* [yaml2obj] Add support for specifying raw section content.Sean Silva2013-06-134-5/+37
| | | | llvm-svn: 183955
* [yaml2obj] Add sh_addr via `Address` key.Sean Silva2013-06-134-1/+5
| | | | llvm-svn: 183954
* [yaml2obj] Initial ELF section support.Sean Silva2013-06-135-8/+212
| | | | | | | The current functionality is extremely basic and a bit rough around the edges, but it will flesh out in future commits. llvm-svn: 183953
* Try to fix the windows build.Rafael Espindola2013-06-131-1/+1
| | | | llvm-svn: 183950
* Don't use PathV1.h in Signals.h.Rafael Espindola2013-06-139-23/+25
| | | | llvm-svn: 183947
* Add a RemoveFileOnSignal that takes a StringRef.Rafael Espindola2013-06-131-0/+4
| | | | llvm-svn: 183943
* Don't use PathV1.h in FileUtilities.h.Rafael Espindola2013-06-135-10/+13
| | | | llvm-svn: 183941
* Avoid using PathV1.h in Program.h.Rafael Espindola2013-06-139-65/+58
| | | | llvm-svn: 183940
* [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC.Bill Schmidt2013-06-1310-34/+31
| | | | | | | | | | | | | | | | | | | | | | | | This is a preliminary patch for fast instruction selection on PowerPC. Code generation can differ between DAG isel and fast isel. Existing tests that specify -O0 were written to expect DAG isel. Make this explicit by adding -fast-isel=false to the tests. In some cases specifying -fast-isel=false produces different code even when there isn't a fast instruction selector specified. This is because TM.Options.EnableFastISel = 1 at -O0 whether or not a FastISel object exists. Thus disabling fast isel can actually produce less conservative code. Because of this, some of the expected code generation in the -O0 tests needs to be adjusted. In particular, handling of function arguments is less conservative with -fast-isel=false (see isOnlyUsedInEntryBlock() in SelectionDAGBuilder.cpp). This results in fewer stack accesses and, in some cases, reduced stack size as uselessly loaded values are no longer stored back to spill locations in the stack. No functional change with this patch; test case adjustments only. llvm-svn: 183939
* R600: Don't try to fix reg class when copying IMPLICIT_DEF to a registerTom Stellard2013-06-131-1/+2
| | | | | | | | | The test case for this is way too complex to be useful as a lit test, and I was unable to reduce it. https://bugs.freedesktop.org/show_bug.cgi?id=65438 llvm-svn: 183937
* Add a version of sys::ExecuteAndWait that takes StringRefs.Rafael Espindola2013-06-132-0/+28
| | | | llvm-svn: 183934
* Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddressesDerek Schuff2013-06-133-3/+35
| | | | | | | | | | | | | | | This pass was assuming that if hasAddressTaken() returns false for a function, the function's only uses are call sites. That's not true because there can be references by BlockAddresses too. Fix the pass to handle this case. Fix BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type to be changed by RAUW'ing the function with a bitcast of the recreated function. Patch by Mark Seaborn. llvm-svn: 183933
* Have sys::FindProgramByName return a std::string.Rafael Espindola2013-06-136-27/+27
| | | | llvm-svn: 183928
* Mips: Remove global set.Benjamin Kramer2013-06-132-57/+68
| | | | | | Backends shouldn't retain any global state. No functionality change. llvm-svn: 183927
* Merge changes to clang's Driver code into LLVM's Option libraryReid Kleckner2013-06-134-11/+45
| | | | | | | | | | | | This is in preparation for switching the clang driver over to using LLVM's Option library. Richard Smith introduced most of these changes to the clang driver in r167638. Reviewers: espindola on IRC Differential Revision: http://llvm-reviews.chandlerc.com/D970 llvm-svn: 183925
* Covert remaining graph viewers from sys::Path to std::string.Rafael Espindola2013-06-131-3/+3
| | | | llvm-svn: 183921
* Update code for other graph viewing programs too.Rafael Espindola2013-06-131-3/+3
| | | | llvm-svn: 183920
* Reduce usage of sys::Path in the graph writer.Rafael Espindola2013-06-132-49/+52
| | | | | | Now PathV1.h is not needed in GraphWriter.h. llvm-svn: 183919
* Add a version of DisplayGraph that takes a StringRef.Rafael Espindola2013-06-131-0/+6
| | | | llvm-svn: 183915
* ARM: fix B decodingAmaury de la Vieuville2013-06-132-1/+3
| | | | llvm-svn: 183914
* ARM: fix t2am_imm8_offset operand printing for imm=#-0Amaury de la Vieuville2013-06-132-1/+5
| | | | llvm-svn: 183913
* Further reduce usage of sys::Path in bugpoint.Rafael Espindola2013-06-132-11/+11
| | | | llvm-svn: 183912
* Try to fix the build with libstdc++ 4.4.Rafael Espindola2013-06-131-1/+2
| | | | llvm-svn: 183909
* Reduce sys::Path usage in bugpoint.Rafael Espindola2013-06-131-47/+47
| | | | llvm-svn: 183908
* X86: Make the cmov aliases work with intel syntax too.Benjamin Kramer2013-06-132-21/+54
| | | | llvm-svn: 183907
* [Support] Fix handle and memory leak for processes that are not waited forReid Kleckner2013-06-133-40/+27
| | | | | | | | | | | | Execute's Data parameter is now optional, so we won't allocate memory for it on Windows and we'll close the process handle. The Unix code should probably do something similar to avoid accumulation of zombie children that haven't been waited on. Tested on Linux and Windows. llvm-svn: 183906
* Zero-initializing variables; fixes a build breakage introduced in r183864.Aaron Ballman2013-06-131-2/+2
| | | | llvm-svn: 183904
* Print ConstantPool entries initialized to Values with WriteAsOperand instead ofDan Gohman2013-06-121-1/+2
| | | | | | | operator<< so that functions are printed as just their name instead of as their entire definition, which is excessively verbose in this context. llvm-svn: 183871
* [Win] Put ChangeStdinToBinary ChangeStdoutToBinary ChangeStderrToBinary in sys.Rafael Espindola2013-06-121-3/+3
| | | | llvm-svn: 183868
* s/Void/void.Rafael Espindola2013-06-121-1/+1
| | | | llvm-svn: 183866
* Attempt at fixing the windows build.Rafael Espindola2013-06-121-34/+35
| | | | llvm-svn: 183865
* Remove the program class.Rafael Espindola2013-06-1212-184/+99
| | | | | | | It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just those two functions and make Execute and Wait implementations details. llvm-svn: 183864
* Revert r183854 (PPC: Fix switch warnings from r183841)David Blaikie2013-06-122-3/+2
| | | | | | | Now that the PRED_BAD has been removed, this is failing the Clang -Werror build due to -Wcovered-switch-default. llvm-svn: 183863
* Add global versions of some Program static methods.Rafael Espindola2013-06-121-0/+19
| | | | | | This is a temporary stepping stone for moving them out of Program. llvm-svn: 183860
* [PowerPC] Remove PRED_BAD from PPC::Predicate enumeration.Bill Schmidt2013-06-121-2/+1
| | | | | | | | I'm taking David Blaikie's suggestion to use an Optional<PPC::Predicate> return value instead. That's the right solution for this problem. Thanks for pointing out that possibility! llvm-svn: 183858
* [PowerPC] Fix switch warnings from r183841.Bill Schmidt2013-06-122-2/+3
| | | | | | | Introducing PRED_BAD caused some unexpected warnings that are now suppressed. llvm-svn: 183854
* 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
OpenPOWER on IntegriCloud