Evan Cheng
3e00dcfebb
Get PIC jump table working.
...
llvm-svn: 58869
2008-11-07 22:30:53 +00:00
Evan Cheng
237175e1ab
More debug output.
...
llvm-svn: 58868
2008-11-07 22:30:29 +00:00
Dan Gohman
3a14e811be
Make tablegen print out a nice error message for a const char*
...
exception, like it does for a std::string exception.
llvm-svn: 58865
2008-11-07 21:01:13 +00:00
Dan Gohman
bd01d0107e
Document the acronym RAUW. Patch by Jonathan Brandmeyer!
...
llvm-svn: 58863
2008-11-07 20:29:17 +00:00
Duncan Sands
60220e7127
Sign-extend rather than zero-extend when promoting
...
the condition for a BRCOND, according to what is
returned by getSetCCResultContents. Since all
targets return the same thing (ZeroOrOneSetCCResult),
this should be harmless! The point is that all over
the place the result of SETCC is fed directly into
BRCOND. On machines for which getSetCCResultContents
returns ZeroOrNegativeOneSetCCResult, this is a
sign-extended boolean. So it seems dangerous to
also feed BRCOND zero-extended booleans in some
circumstances - for example, when promoting the
condition.
llvm-svn: 58861
2008-11-07 20:13:04 +00:00
Dan Gohman
1418c52e1a
Flush the raw_ostream after emitting the assembly for a function.
...
This is a temporary fix for the -print-emitted-asm option, where
errs() is used as the stream, in the case where other code is
using stderr without using errs()' buffer. Hopefully soon we'll
fix errs() to be non-buffered instead. Patch by Preston Gurd.
llvm-svn: 58859
2008-11-07 19:49:17 +00:00
Dale Johannesen
4510149fd2
Fix unsigned->ppcf128 conversion.
...
llvm-svn: 58856
2008-11-07 19:11:43 +00:00
Nick Lewycky
b75c0781c3
Update to add newer bitcodes.
...
llvm-svn: 58852
2008-11-07 14:52:51 +00:00
Richard Osborne
2b366f775c
Keep CREDITS.TXT sorted by name.
...
llvm-svn: 58845
2008-11-07 12:44:36 +00:00
Richard Osborne
859fe1b950
Add contributer information for XCore backend to CREDITS.TXT
...
llvm-svn: 58844
2008-11-07 12:41:14 +00:00
Richard Osborne
36eaf6067f
Add XCore backend to CMake build.
...
llvm-svn: 58843
2008-11-07 12:37:45 +00:00
Richard Osborne
f4fb6eaf71
Add basic test for XCore backend
...
llvm-svn: 58841
2008-11-07 11:24:12 +00:00
Richard Osborne
224268f88b
Fix compile warnings.
...
llvm-svn: 58840
2008-11-07 11:21:09 +00:00
Scott Michel
b5f73899a2
CellSPU: Ensure that C strings are always put in the .rodata section
...
llvm-svn: 58839
2008-11-07 11:06:44 +00:00
Richard Osborne
acc7a27e24
Add XCore backend.
...
llvm-svn: 58838
2008-11-07 10:59:00 +00:00
Evan Cheng
21df9f3b4f
Jump table JIT support. Work in progress.
...
llvm-svn: 58836
2008-11-07 09:06:08 +00:00
Evan Cheng
6e23b1e651
Jump tables may be emitted by target.
...
llvm-svn: 58835
2008-11-07 09:02:17 +00:00
Evan Cheng
7f68765615
Jump table relocation addresses may be resolved by target.
...
llvm-svn: 58834
2008-11-07 09:01:15 +00:00
Scott Michel
828731190c
Teach CellSPU about ELF sections and new section emitter classes.
...
NB: This is likely to need more work.
llvm-svn: 58832
2008-11-07 04:36:25 +00:00
Bill Wendling
a5eb92b137
BCUI + 1 doesn't work. Use next instead.
...
llvm-svn: 58830
2008-11-07 01:59:41 +00:00
Bill Wendling
dea20bc52f
Refactor code that adjusts the offsets of stack objects.
...
llvm-svn: 58829
2008-11-07 01:48:58 +00:00
Evan Cheng
88726d85eb
Encode misc arithmetic instructions.
...
llvm-svn: 58828
2008-11-07 01:41:35 +00:00
Dale Johannesen
64f40545b3
Testcase for testb optimization.
...
llvm-svn: 58827
2008-11-07 01:30:18 +00:00
Devang Patel
0958cd6437
Handle (delete) dbg intrinsics while promoting alloca.
...
llvm-svn: 58826
2008-11-07 01:30:07 +00:00
Dale Johannesen
89da8440e1
When we're doing a compare of load-AND-constant to 0
...
(e.g. a bitfield test) narrow the load as much as possible.
The has the potential to avoid unnecessary partial-word
load-after-store conflicts, which cause stalls on several targets.
Also a size win on x86 (testb vs testl).
llvm-svn: 58825
2008-11-07 01:28:02 +00:00
Bill Wendling
3fe9fef0da
- Modify the stack protector algorithm so that the stack slot is allocated in
...
LLVM IR code and not in the selection DAG ISel. This is a cleaner solution.
- Fix the heuristic for determining if protectors are necessary. The previous
one wasn't checking the proper type size.
llvm-svn: 58824
2008-11-07 01:23:58 +00:00
Bill Wendling
54a5c87823
Remove unneeded header file.
...
llvm-svn: 58823
2008-11-06 23:56:59 +00:00
Bill Wendling
70e06738b4
Don't build a vector of returns. Just modify the Function in the loop.
...
llvm-svn: 58822
2008-11-06 23:55:49 +00:00
Mon P Wang
888f4e6fb0
Fixed scalarizing an extract subvector and prevent an infinite loop
...
when simplify a vector.
llvm-svn: 58820
2008-11-06 22:52:21 +00:00
Bill Wendling
1e6576e1e0
The size limit is for individual arrays. So if any array has more than 8 bytes
...
in it, then emit stack protectors.
llvm-svn: 58819
2008-11-06 22:18:44 +00:00
Evan Cheng
3bcb71912f
Encode extend instructions; more clean up.
...
llvm-svn: 58818
2008-11-06 22:15:19 +00:00
Dan Gohman
1130e8c23f
Fix a use of an invalid iterator when -debug-pass=Details is used.
...
llvm-svn: 58816
2008-11-06 21:57:17 +00:00
Bill Wendling
26eadae94d
Don't recalculate the stack position of the stack protector.
...
llvm-svn: 58815
2008-11-06 21:37:09 +00:00
Devang Patel
8640fd500a
Emit label for llvm.dbg.func.start of the inlined function.
...
llvm-svn: 58814
2008-11-06 21:28:20 +00:00
Devang Patel
5d5357aa3b
Clarify documentation. A module pass MP can require a function paqss FP only if FP does not require any module pass.
...
llvm-svn: 58813
2008-11-06 19:47:49 +00:00
Evan Cheng
af54e4ed18
- Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.
...
- Consolidate instruction formats.
- Other clean up.
llvm-svn: 58808
2008-11-06 17:48:05 +00:00
Evan Cheng
1ea366a419
Improve JIT debugging outputs format consistency.
...
llvm-svn: 58807
2008-11-06 17:46:04 +00:00
Nuno Lopes
e5fb2e4d84
plug leakage of mutex data. pthread_mutex_destroy() doesnt free our malloc'ed memory.
...
llvm-svn: 58805
2008-11-06 16:21:49 +00:00
Duncan Sands
50acaf2367
Formating/comment changes - no functionality change.
...
llvm-svn: 58801
2008-11-06 08:51:32 +00:00
Evan Cheng
aa24d19533
Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 encoding bug.
...
llvm-svn: 58800
2008-11-06 08:47:38 +00:00
Bill Wendling
b6e2d60e7a
- Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}.
...
- Get rid of "HasStackProtector" in MachineFrameInfo.
- Modify intrinsics to tell which are doing what with memory.
llvm-svn: 58799
2008-11-06 07:23:03 +00:00
Steve Naroff
dafb062ef6
Update VC++ projects.
...
llvm-svn: 58798
2008-11-06 06:24:59 +00:00
Mon P Wang
41f90a3ee5
Widening cleanup
...
llvm-svn: 58796
2008-11-06 05:31:54 +00:00
Evan Cheng
078361bddc
Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>.
...
llvm-svn: 58793
2008-11-06 03:35:07 +00:00
Bill Wendling
489791a127
Adjust the stack protector heuristic to care about only arrays or calls to
...
"alloca".
llvm-svn: 58792
2008-11-06 02:38:58 +00:00
Bill Wendling
08905ed703
Implement the stack protector stack accesses via intrinsics:
...
- stackprotector_prologue creates a stack object and stores the guard there.
- stackprotector_epilogue reads the stack guard from the stack position created
by stackprotector_prologue.
- The PrologEpilogInserter was changed to make sure that the stack guard is
first on the stack frame.
llvm-svn: 58791
2008-11-06 02:29:10 +00:00
Evan Cheng
058721d10b
Fix so_imm encoding bug; add support for MOVi2pieces.
...
llvm-svn: 58790
2008-11-06 02:25:39 +00:00
Evan Cheng
ca6759021b
Fix encoding of multiple instructions with 3 src operands; also handle smmul, smmla, and smmls.
...
llvm-svn: 58789
2008-11-06 01:21:28 +00:00
Evan Cheng
3e727721d0
Need a \n.
...
llvm-svn: 58788
2008-11-06 01:18:29 +00:00
Devang Patel
cea9dfa11f
InstructionNamer preserves everything.
...
llvm-svn: 58787
2008-11-06 01:00:16 +00:00