- Jan 06, 2014
-
-
Robert Lytton authored
We also narrow the liveness of FP & LR during the prologue to reflect the actual usage of the registers. I have been unable to construct a test to prove the previous live range was too large. llvm-svn: 198611
-
Robert Lytton authored
This common functionality will be used to lower FRAME_TO_ARGS_OFFSET. llvm-svn: 198610
-
Robert Lytton authored
llvm-svn: 198609
-
Marshall Clow authored
Rename several internal templates to get rid of ___ (triple underscores) or worse, four. No functionality change. llvm-svn: 198608
-
Alp Toker authored
This matches up the underlying type against the actual storage type 'unsigned short' and lets us get rid of some casts while we're at it. Effort is made to keep this building in pre-C++11 but as with other features Token will be less efficiently packed in in legacy configurations. llvm-svn: 198607
-
Alp Toker authored
As far as the parser is concerned the tag type is always a keyword. llvm-svn: 198606
-
Alp Toker authored
llvm-svn: 198605
-
Alp Toker authored
Implemented with a new getKeywordSpelling() accessor. Unlike getTokenName() the result of this function is stable and may be used in diagnostic output. Uses of this feature are split out into the subsequent commit. llvm-svn: 198604
-
Alp Toker authored
That's what it does, what the documentation says it does and what callers expect it to do. llvm-svn: 198603
-
Tim Northover authored
Longer term, we want to move users to "*-*-*-macho" for embedded work, but for now people are relying on the last thing we told them, which is unfortunately "*-*-darwin-eabi". rdar://problem/15703934 llvm-svn: 198602
-
Alp Toker authored
enum-scoped.cpp:93:6: error: enumeration redeclared with different underlying type 'short' (was 'int') enum Redeclare6 : short; ^ enum-scoped.cpp:92:6: note: previous declaration is here enum Redeclare6 : int; ^ ~~~ The redeclaration source range is still missing but this is a step forward, potentially edging towards a FixIt. llvm-svn: 198601
-
Alp Toker authored
In all three checks, the note indicates a previous declaration and never a 'use'. Before: enum-scoped.cpp:92:6: note: previous use is here enum Redeclare6 : int; ^ After: enum-scoped.cpp:92:6: note: previous declaration is here enum Redeclare6 : int; ^ llvm-svn: 198600
-
Alp Toker authored
llvm-svn: 198599
-
Alp Toker authored
llvm-svn: 198598
-
Joey Gouly authored
type of a function. llvm-svn: 198597
-
Tobias Grosser authored
llvm-svn: 198596
-
Tobias Grosser authored
llvm-svn: 198595
-
Tobias Grosser authored
llvm-svn: 198594
-
Elena Demikhovsky authored
llvm-svn: 198593
-
Venkatraman Govindaraju authored
llvm-svn: 198592
-
Venkatraman Govindaraju authored
llvm-svn: 198591
-
David Majnemer authored
Instead of crashing, raise an error when a subtraction expression involves an undefined symbol. This fixes PR18375. llvm-svn: 198590
-
Craig Topper authored
llvm-svn: 198589
-
Craig Topper authored
llvm-svn: 198588
-
Craig Topper authored
llvm-svn: 198587
-
Craig Topper authored
The 0x66 prefix toggles between 16-bit and 32-bit addressing mode. So in 32-bit mode it is used to switch to 16-bit addressing mode for the following instruction, while in 16-bit mode it's the other way round — it's used to switch to 32-bit mode instead. Thus, emit the 0x66 prefix byte for OpSize only in 32-bit (and 64-bit) mode, and introduce a new OpSize16 bit which is used in 16-bit mode instead. This is just the basic infrastructure for that change; a subsequent patch will add the new OpSize16 bit to the 32-bit instructions that need it. Patch from David Woodhouse. llvm-svn: 198586
-
Bill Wendling authored
llvm-svn: 198585
-
Craig Topper authored
This is not really expected to work right yet. Mostly because we will still emit the OpSize (0x66) prefix in all the wrong places, along with a number of other corner cases. Those will all be fixed in the subsequent commits. Patch from David Woodhouse. llvm-svn: 198584
-
Saleem Abdulrasool authored
Add a reference to the ARM EHABI Specification as a follow up to SVN r198576 llvm-svn: 198583
-
Kevin Qin authored
There is a wrong assumption that the vector element type and the type of each ConstantSDNode in the build_vector were the same. However, when promoting the integer operand of a legally typed build_vector, the operand type and the vector element type do not need to be the same (See method 'DAGTypeLegalizer::PromoteIntOp_BUILD_VECTOR' in LegalizeIntegerTypes.cpp). in AArch64 backend, the following dag sequence: C0: i1 = Constant<0> C1: i1 = Constant<-1> V: v8i1 = BUILD_VECTOR C1, C1, C0, C0, C0, C0, C0, C0 is type-legalized into: NewC0: i32 = Constant<0> NewC1: i32 = Constant<1> V: v8i8 = BUILD_VECTOR NewC1, NewC1, NewC0, NewC0, NewC0, NewC0, NewC0, NewC0 Forcing a getZeroExtend to VTBits to ensure that the new constant is correctly. llvm-svn: 198582
-
Tobias Grosser authored
We may revert this depending on how the current discussion on llvm-commits ends. llvm-svn: 198581
-
Venkatraman Govindaraju authored
llvm-svn: 198580
-
Bill Wendling authored
This moves the check up into the parent class so that all targets can use it without having to copy (and keep in sync) the same error message. llvm-svn: 198579
-
Bill Wendling authored
llvm-svn: 198578
-
Bill Wendling authored
llvm-svn: 198577
-
Saleem Abdulrasool authored
Move the ARM EHABI unwind opcode definitions from the ARM MCTargetDesc into LLVM Support. This enables sharing of the definitions across the ARM target code as well as llvm-readobj. This will allow implementation of the unwind decoding in llvm-readobj. llvm-svn: 198576
-
- Jan 05, 2014
-
-
Aaron Ballman authored
This helper method isn't needed, and it's unsafe for it to use StringRef in the first place. Replaced the unsafe code with the proper accessor. llvm-svn: 198569
-
Benjamin Kramer authored
llvm-svn: 198567
-
Craig Topper authored
Add some tests to validate correct register selection, including a fix to an existing test which was requiring the *wrong* output. Patch from David Woodhouse. llvm-svn: 198566
-
Venkatraman Govindaraju authored
llvm-svn: 198565
-