- Mar 03, 2014
-
-
Lang Hames authored
llvm-svn: 202735
-
Benjamin Kramer authored
Breaks the MSVC build. DataStream.cpp(44): error C2552: 'llvm::Statistic::Value' : non-aggregates cannot be initialized with initializer list llvm-svn: 202731
-
Benjamin Kramer authored
With C++11 we finally have a standardized way to specify atomic operations. Use them to replace the existing custom implemention. Sadly the translation is not entirely trivial as std::atomic allows more fine-grained control over the atomicity. I tried to preserve the old semantics as well as possible. Differential Revision: http://llvm-reviews.chandlerc.com/D2915 llvm-svn: 202730
-
Daniel Sanders authored
Summary: Parts of the compiler still believed MSA load/stores have a 16-bit offset when it is actually 10-bit. Corrected this, and fixed a closely related issue this uncovered where load/stores with 10-bit and 12-bit offsets (MSA and microMIPS respectively) could not load/store using offsets from the stack/frame pointer. They accepted frameindex+offset, but not frameindex by itself. Reviewers: jacksprat, matheusalmeida Reviewed By: jacksprat Differential Revision: http://llvm-reviews.chandlerc.com/D2888 llvm-svn: 202717
-
Ed Maste authored
This fixes invalid lengths in .debug_aranges on big-endian mips64 (lengths appear to be left-shifted by 32 bits) and in .debug_loc. Differential Revision: http://llvm-reviews.chandlerc.com/D2517 llvm-svn: 202716
-
Vladimir Medic authored
Fixing a build failure reported by certain buildbots. This will disable jalx instruction for micromips target. llvm-svn: 202715
-
Evgeniy Stepanov authored
llvm-svn: 202712
-
Vladimir Medic authored
This patch implements jalx instruction for Mips architecture.This instruction executes a procedure call within the current 256 MB-aligned region and change the ISA Mode from MIPS32 to microMIPS32 or MIPS16e. Usage samples for assembler and dissasembler are provided as well. llvm-svn: 202706
-
Tobias Grosser authored
This also switches the users in LLVM to ensure this functionality is tested. llvm-svn: 202705
-
Chandler Carruth authored
operand_values. The first provides a range view over operand Use objects, and the second provides a range view over the Value*s being used by those operands. The naming is "STL-style" rather than "LLVM-style" because we have historically named iterator methods STL-style, and range methods seem to have far more in common with their iterator counterparts than with "normal" APIs. Feel free to bikeshed on this one if you want, I'm happy to change these around if people feel strongly. I've switched code in SROA and LCG to exercise these mostly to ensure they work correctly -- we don't really have an easy way to unittest this and they're trivial. llvm-svn: 202687
-
Venkatraman Govindaraju authored
llvm-svn: 202670
-
- Mar 02, 2014
-
-
Venkatraman Govindaraju authored
llvm-svn: 202666
-
Venkatraman Govindaraju authored
llvm-svn: 202663
-
Venkatraman Govindaraju authored
llvm-svn: 202661
-
Venkatraman Govindaraju authored
llvm-svn: 202660
-
Hal Finkel authored
Now that the PowerPC backend can track individual CR bits as first-class registers, we should also have a way of allocating them for inline asm statements. Because these registers are only one bit, if an output variable is implicitly cast to a larger integer size, we'll get an any_extend to that larger type (this is part of the existing target-independent logic). As a result, regardless of the size of the output type, only the first bit is meaningful. The constraint identifier "wc" has been chosen for this purpose. Although gcc does not currently support allocating individual CR bits, this identifier choice has been coordinated with the gcc PowerPC team, and will be marked as reserved for this purpose in the gcc constraints.md file. llvm-svn: 202657
-
Benjamin Kramer authored
The old implementation is no longer needed in C++11. llvm-svn: 202644
-
Chandler Carruth authored
access to it on all host toolchains. llvm-svn: 202642
-
Benjamin Kramer authored
Remove the old functions. llvm-svn: 202636
-
Venkatraman Govindaraju authored
[SparcV9] Adds support for branch on integer register instructions (BPr) and conditional moves on integer register (MOVr/FMOVr). llvm-svn: 202628
-
Elena Demikhovsky authored
llvm-svn: 202624
-
Craig Topper authored
llvm-svn: 202621
-
Craig Topper authored
llvm-svn: 202618
-
Venkatraman Govindaraju authored
[Sparc] Add support for parsing branches and conditional move instructions with %fcc1-%fcc3 conditional registers. llvm-svn: 202616
-
Venkatraman Govindaraju authored
[Sparc] Make floating point branch instruction formats to accept %fcc0-%fcc1 conditional registers as input. No functionality change. llvm-svn: 202614
-
Chandler Carruth authored
directly, and remove the macro. llvm-svn: 202612
-
Venkatraman Govindaraju authored
llvm-svn: 202610
-
Alp Toker authored
llvm-svn: 202607
-
Venkatraman Govindaraju authored
llvm-svn: 202604
-
- Mar 01, 2014
-
-
Venkatraman Govindaraju authored
llvm-svn: 202602
-
Hal Finkel authored
This generalizes the code to eliminate extra truncs/exts around i1 bit operations to also do the same on PPC64 for i32 bit operations. This eliminates a fairly prevalent code wart: int foo(int a) { return a == 5 ? 7 : 8; } On PPC64, because of the extension implied by the ABI, this would generate: cmplwi 0, 3, 5 li 12, 8 li 4, 7 isel 3, 4, 12, 2 rldicl 3, 3, 0, 32 blr where the 'rldicl 3, 3, 0, 32', the extension, is completely unnecessary. At least for the single-BB case (which is all that the DAG combine mechanism can handle), this unnecessary extension is no longer generated. llvm-svn: 202600
-
Venkatraman Govindaraju authored
llvm-svn: 202599
-
Venkatraman Govindaraju authored
llvm-svn: 202598
-
Venkatraman Govindaraju authored
llvm-svn: 202597
-
Benjamin Kramer authored
llvm-svn: 202596
-
Benjamin Kramer authored
No intended functionality change. llvm-svn: 202588
-
Chandler Carruth authored
the core LLVM libraries. llvm-svn: 202582
-
Venkatraman Govindaraju authored
llvm-svn: 202581
-
Chandler Carruth authored
libraries. It is now always 1 in LLVM builds. llvm-svn: 202580
-
Venkatraman Govindaraju authored
llvm-svn: 202578
-