- May 14, 2013
-
-
Reed Kotler authored
"static". llvm-svn: 181754
-
Reed Kotler authored
Mips16/32 floating point interoperability. When Mips16 code calls external functions that would normally have some of its parameters or return values passed in floating point registers, it needs (Mips32) helper functions to do this because while in Mips16 mode there is no ability to access the floating point registers. In Pic mode, this is done with a set of predefined functions in libc. This case is already handled in llvm for Mips16. In static relocation mode, for efficiency reasons, the compiler generates stubs that the linker will use if it turns out that the external function is a Mips32 function. (If it's Mips16, then it does not need the helper stubs). These stubs are identically named and the linker knows about these tricks and will not create multiple copies and will delete them if they are not needed. llvm-svn: 181753
-
Rui Ueyama authored
llvm-svn: 181752
-
Akira Hatanaka authored
object is a PseudoSourceValue and PseudoSourceValue::isConstant returns true (i.e., points to memory that has a constant value). llvm-svn: 181751
-
Rafael Espindola authored
This matches gcc's behaviour. The patch also explicitly parses the version so that this keeps working when we add support for v8. llvm-svn: 181750
-
Rui Ueyama authored
Summary: Split buildFollowOnTable to small functions to improve code readability and remove code duplication. No change in functionality. CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D790 llvm-svn: 181749
-
David Blaikie authored
This just brings a crash a little further forward from DWARF emission to DIE construction to make errors easier to diagnose. llvm-svn: 181748
-
David Blaikie authored
PR15956: Debug Info: Include the appropriate file location in types created due to using declarations We might benefit from API refactoring here (why pass in a value that's derived from another parameter?) but this is the immediate issue. llvm-svn: 181747
-
Arnold Schwaighofer authored
We used to give up if we saw two integer inductions. After this patch, we base further induction variables on the chosen one like we do in the reverse induction and pointer induction case. Fixes PR15720. radar://13851975 llvm-svn: 181746
-
Michael Gottesman authored
llvm-svn: 181745
-
Anna Zaks authored
(Modifying the checker to record that the values are no longer nil will be done separately.) llvm-svn: 181744
-
Michael Gottesman authored
[objc-arc-opts] In the presense of an alloca unconditionally remove RR pairs if and only if we are both KnownSafeBU/KnownSafeTD rather than just either or. In the presense of a block being initialized, the frontend will emit the objc_retain on the original pointer and the release on the pointer loaded from the alloca. The optimizer will through the provenance analysis realize that the two are related (albiet different), but since we only require KnownSafe in one direction, will match the inner retain on the original pointer with the guard release on the original pointer. This is fixed by ensuring that in the presense of allocas we only unconditionally remove pointers if both our retain and our release are KnownSafe (i.e. we are KnownSafe in both directions) since we must deal with the possibility that the frontend will emit what (to the optimizer) appears to be unbalanced retain/releases. An example of the miscompile is: %A = alloca retain(%x) retain(%x) <--- Inner Retain store %x, %A %y = load %A ... DO STUFF ... release(%y) call void @use(%x) release(%x) <--- Guarding Release getting optimized to: %A = alloca retain(%x) store %x, %A %y = load %A ... DO STUFF ... release(%y) call void @use(%x) rdar://13750319 llvm-svn: 181743
-
Andrew Kaylor authored
llvm-svn: 181742
-
Matt Kopec authored
llvm-svn: 181741
-
- May 13, 2013
-
-
David Blaikie authored
Patch by Evgieniy Stepanov, review by İsmail Dönmez. llvm-svn: 181740
-
Daniel Malea authored
llvm-svn: 181739
-
Anna Zaks authored
llvm-svn: 181738
-
Ashok Thirumurthi authored
- Also refactors TestRegisters.py because test_convenience_registers_with_process_attach now fails with an assert. TODO: Cross-reference the skipOnLinux decorator with a bugzilla report after root-causing this issue. llvm-svn: 181737
-
Daniel Malea authored
- should fix automatic tests set up on http://llvm-jenkins.debian.net - needed in order to make Debian package builds depend on passing test suite llvm-svn: 181736
-
Daniel Malea authored
llvm-svn: 181735
-
Matt Beaumont-Gay authored
Suppresses an unused-variable warning in -Asserts builds. llvm-svn: 181733
-
Daniel Jasper authored
Before: #define A(X) \ "aaaaa" #X "bbbbbb" \ "ccccc" After: #define A(X) \ "aaaaa" #X "bbbbbb" \ "ccccc" llvm-svn: 181732
-
Richard Smith authored
debugging code from an unreachable codepath. llvm-svn: 181731
-
Richard Smith authored
bytes and character units to be different sizes. llvm-svn: 181730
-
Jack Carter authored
This patch adds alias for addiu instruction which enables following syntax: addiu $rs,imm The macro is translated as: addiu $rs,$rs,imm Contributer: Vladimir Medic llvm-svn: 181729
-
Rafael Espindola authored
This is safe given how the pre-v6 atomic ops funcions in libgcc are implemented. This fixes pr15429. llvm-svn: 181728
-
Ashok Thirumurthi authored
- Also improved test coverage for passing tests to include expr/x and a sanity check for $eax as the lower half of $rax. llvm-svn: 181727
-
Michael Gottesman authored
[objc-arc-opts] Add comment to BBState making it clear that get{TopDown,BottomUp}PtrState will create a new PtrState object if it does not find a PtrState for Arg. llvm-svn: 181726
-
Bill Schmidt authored
llvm-svn: 181725
-
Daniel Malea authored
- added missing ConstString header - moved "using lldb*" statements to OS-independent section llvm-svn: 181724
-
Bill Schmidt authored
This fixes warning messages observed in the oggenc application test in projects/test-suite. Special handling is needed for the 64-bit PowerPC SVR4 ABI when a constant is initialized with a pointer to a function in a shared library. Because a function address is implemented as the address of a function descriptor, the use of copy relocations can lead to problems with initialization. GNU ld therefore replaces copy relocations with dynamic relocations to be resolved by the dynamic linker. This means the constant cannot reside in the read-only data section, but instead belongs in .data.rel.ro, which is designed for constants containing dynamic relocations. The implementation creates a class PPC64LinuxTargetObjectFile inheriting from TargetLoweringObjectFileELF, which behaves like its parent except to place constants of this sort into .data.rel.ro. The test case is reduced from the oggenc application. llvm-svn: 181723
-
Matt Kopec authored
Patch by Mike Sartain. llvm-svn: 181722
-
Bob Wilson authored
llvm-svn: 181721
-
Sean Callanan authored
LLDB transition page. Also fixed a <b>...</b> tag. <rdar://problem/13871874> llvm-svn: 181720
-
Michael Gottesman authored
This makes the statistics gathering completely independent of the actual optimization occuring, preventing any sort of bleeding over from occuring. Additionally, it simplifies a switch statement in the non-statistic gathering case. llvm-svn: 181719
-
Akira Hatanaka authored
This option is used when the user wants to avoid emitting double precision FP loads and stores. Double precision FP loads and stores are expanded to single precision instructions after register allocation. llvm-svn: 181718
-
rdar://problem/13875830Greg Clayton authored
Unblock linux builds. The real fix for this is tracked by the above radar, but this temporary hack should fix things for now. llvm-svn: 181717
-
Shuxin Yang authored
llvm-svn: 181715
-
Akira Hatanaka authored
operands as the prototype instruction but with a different opcode. llvm-svn: 181714
-
Akira Hatanaka authored
llvm-svn: 181713
-