- Mar 01, 2012
-
-
Akira Hatanaka authored
objects for big endian and little endian targets. Patch by Jack Carter. llvm-svn: 151788
-
- Feb 28, 2012
-
-
Evan Cheng authored
llvm-svn: 151645
-
Daniel Dunbar authored
Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part. llvm-svn: 151630
-
Jia Liu authored
llvm-svn: 151625
-
Evan Cheng authored
the processor keeps a return addresses stack (RAS) which stores the address and the instruction execution state of the instruction after a function-call type branch instruction. Calling a "noreturn" function with normal call instructions (e.g. bl) can corrupt RAS and causes 100% return misprediction so LLVM should use a unconditional branch instead. i.e. mov lr, pc b _foo The "mov lr, pc" is issued in order to get proper backtrace. rdar://8979299 llvm-svn: 151623
-
Akira Hatanaka authored
llvm-svn: 151615
-
Akira Hatanaka authored
llvm-svn: 151614
-
Akira Hatanaka authored
load and store instructions. llvm-svn: 151611
-
- Feb 27, 2012
-
-
Akira Hatanaka authored
llvm-svn: 151540
-
Akira Hatanaka authored
llvm-svn: 151538
-
Jia Liu authored
llvm-svn: 151512
-
- Feb 25, 2012
-
-
Akira Hatanaka authored
add/sub instructions. llvm-svn: 151415
-
- Feb 24, 2012
-
-
Akira Hatanaka authored
reserving a physical register ($gp or $28) for that purpose. This will completely eliminate loads that restore the value of $gp after every function call, if the register allocator assigns a callee-saved register, or eliminate unnecessary loads if it assigns a temporary register. example: .cpload $25 // set $gp. ... .cprestore 16 // store $gp to stack slot 16($sp). ... jalr $25 // function call. clobbers $gp. lw $gp, 16($sp) // not emitted if callee-saved reg is chosen. ... lw $2, 4($gp) ... jalr $25 // function call. lw $gp, 16($sp) // not emitted if $gp is not live after this instruction. ... llvm-svn: 151402
-
Jia Liu authored
llvm-svn: 151341
-
Jia Liu authored
llvm-svn: 151340
-
Jia Liu authored
llvm-svn: 151337
-
Jia Liu authored
llvm-svn: 151332
-
- Feb 22, 2012
-
-
Craig Topper authored
Make all pointers to TargetRegisterClass const since they are all pointers to static data that should not be modified. llvm-svn: 151134
-
Akira Hatanaka authored
llvm-svn: 151107
-
- Feb 19, 2012
-
-
Ahmed Charles authored
llvm-svn: 150918
-
- Feb 17, 2012
-
-
Jia Liu authored
llvm-svn: 150805
-
Akira Hatanaka authored
instructions to be emitted. llvm-svn: 150782
-
Jia Liu authored
llvm-svn: 150775
-
- Feb 16, 2012
-
-
Akira Hatanaka authored
llvm-svn: 150739
-
Akira Hatanaka authored
llvm-svn: 150706
-
- Feb 07, 2012
-
-
Craig Topper authored
llvm-svn: 149961
-
- Feb 05, 2012
-
-
Craig Topper authored
llvm-svn: 149814
-
- Feb 04, 2012
-
-
Andrew Trick authored
Passes prior to instructon selection are now split into separate configurable stages. Header dependencies are simplified. The bulk of this diff is simply removal of the silly DisableVerify flags. Sorry for the target header churn. Attempting to stabilize them. llvm-svn: 149754
-
- Feb 03, 2012
-
-
Andrew Trick authored
Allows command line overrides to be centralized in LLVMTargetMachine.cpp. LLVMTargetMachine can intercept common passes and give precedence to command line overrides. Allows adding "internal" target configuration options without touching TargetOptions. Encapsulates the PassManager. Provides a good point to initialize all CodeGen passes so that Pass ID's can be used in APIs. Allows modifying the target configuration hooks without rebuilding the world. llvm-svn: 149672
-
Akira Hatanaka authored
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary for emitting jump tables which have entries with directive .gpdword. This patch does not implement the parts needed for direct object emission or JIT. llvm-svn: 149668
-
- Feb 02, 2012
-
-
Akira Hatanaka authored
llvm-svn: 149585
-
Akira Hatanaka authored
selector registers. llvm-svn: 149584
-
Akira Hatanaka authored
llvm-svn: 149583
-
- Jan 28, 2012
-
-
James Molloy authored
Fixes PR11877 llvm-svn: 149180
-
- Jan 25, 2012
-
-
Akira Hatanaka authored
llvm-svn: 148918
-
Akira Hatanaka authored
- Use MipsAnalyzeImmediate to expand immediates that do not fit in 16-bit. - Change the types of variables so that they are sufficiently large to handle 64-bit pointers. - Emit instructions to set register $28 in a function prologue after instructions which store callee-saved registers have been emitted. llvm-svn: 148917
-
Akira Hatanaka authored
expand offsets that do not fit in the 16-bit immediate field of load and store instructions. Also change the types of variables so that they are sufficiently large to handle 64-bit pointers. llvm-svn: 148916
-
NAKAMURA Takumi authored
inttypes.h is not supplied in msvc. llvm-svn: 148912
-
NAKAMURA Takumi authored
llvm-svn: 148909
-
Akira Hatanaka authored
Add a test case to show fewer instructions are needed to load an immediate with the new way of loading immediates. llvm-svn: 148908
-